Questão de Sistemas Operacionais — Virtualização — CESPE / CEBRASPE 2025
- Código
- ce208473
- Banca
- CESPE / CEBRASPE
- Órgão
- MPE-CE
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista Ministerial - Especialidade: Ciências da Computação

- CCerto
- EErrado

GabaritoC — Certo
Gabarito: letra C (CERTO). A opção -p do comando docker run realiza o mapeamento de portas entre o host e o contêiner, permitindo que serviços executados dentro do contêiner sejam acessados a partir do host. Essa é uma funcionalidade fundamental do Docker para expor serviços de contêineres à rede externa.
O Docker é uma plataforma de virtualização a nível de sistema operacional que permite empacotar aplicações e suas dependências em contêineres isolados. Diferentemente da virtualização tradicional, que utiliza hipervisores para executar sistemas operacionais completos, os contêineres compartilham o kernel do sistema operacional hospedeiro, tornando-os mais leves e eficientes. O isolamento é alcançado por meio de mecanismos do kernel Linux, como namespaces e cgroups, que limitam e isolam recursos como CPU, memória e rede.
Quando um contêiner é executado, ele possui sua própria interface de rede virtual e endereço IP, mas por padrão não é acessível diretamente a partir do host ou de outras máquinas. Para permitir o acesso a serviços dentro do contêiner, é necessário mapear uma porta do host para uma porta do contêiner. A opção -p (ou --publish) do comando docker run faz exatamente isso: ela publica uma porta do contêiner no host, redirecionando o tráfego recebido na porta do host para a porta correspondente no contêiner.
Por exemplo, o comando docker run -p 8080:80 nginx mapeia a porta 8080 do host para a porta 80 do contêiner. Assim, ao acessar http://localhost:8080 no host, o tráfego é redirecionado para a porta 80 do contêiner, onde o servidor web Nginx está escutando. Esse mapeamento é essencial para que serviços como servidores web, bancos de dados e APIs possam ser acessados externamente.
A opção -p é frequentemente confundida com a opção -P (maiúscula), que publica todas as portas expostas pelo contêiner em portas aleatórias do host. Enquanto -p permite especificar explicitamente o mapeamento, -P é uma forma abreviada de publicar todas as portas definidas no Dockerfile com a instrução EXPOSE. Essa distinção é uma pegadinha comum em provas de concursos.
Além do mapeamento de portas, o Docker oferece outras opções de rede, como a criação de redes personalizadas (docker network create) e o uso do modo de rede host, que compartilha a interface de rede do host diretamente com o contêiner. No entanto, o mapeamento de portas com -p é a forma mais comum e flexível de expor serviços de contêineres.
Guarde a diferença entre -p (mapeamento explícito) e -P (publicação automática de todas as portas expostas): é exatamente nessa distinção que as questões sobre Docker costumam se basear.
A afirmação está correta. A opção -p do comando docker run mapeia uma porta específica do host para uma porta correspondente no contêiner, permitindo o acesso aos serviços em execução dentro do contêiner a partir do host. O formato é -p <porta_host>:<porta_contêiner>, e o tráfego recebido na porta do host é redirecionado para a porta do contêiner. Essa é a funcionalidade padrão de publicação de portas no Docker.
A banca pode tentar confundir a opção -p (minúscula) com a opção -P (maiúscula). Enquanto -p permite especificar o mapeamento exato de portas, -P publica todas as portas expostas no Dockerfile em portas aleatórias do host. Fique atento à diferença de maiúsculas e minúsculas, pois ela muda completamente o comportamento do comando.
Para memorizar, lembre-se: -p = "publish" específico (você escolhe as portas), -P = "publish" automático (o Docker escolhe as portas). Em questões de prova, verifique sempre se a opção está em maiúscula ou minúscula, pois isso é um detalhe que pode decidir a resposta.
Gabarito: letra C (CERTO).
Link permanente: /questoes/ce208473