Em arquiteturas modernas baseadas em contêineres, aplicações...
Considere o seguinte Dockerfile, utilizado para construir a imagem da aplicação PHP:
Considere ainda que o contêiner do NGINX está configurado para encaminhar requisições PHP ao serviço php na porta 9000, por meio de FastCGI, em uma rede Docker compartilhada.
Com base nos conceitos de contêineres Docker, comunicação entre serviços, volumes persistentes e boas práticas de construção de imagens, analise as afirmativas a seguir.
I. A instrução EXPOSE 9000 documenta a porta utilizada pelo contêiner e indica que o serviço escuta nessa porta, mas não publica automaticamente essa porta no host.
II. A comunicação entre os contêineres NGINX e PHP-FPM ocorre diretamente pelo nome do serviço (por exemplo, fastcgi_pass php:9000), desde que ambos estejam conectados à mesma rede Docker.
III. A declaração VOLUME ["/var/www/html/uploads"] permite que dados gerados pela aplicação, como arquivos enviados por usuários, sejam persistidos independentemente do ciclo de vida do contêiner.
IV. Para que o serviço php-fpm seja acessível a partir de outro contêiner na mesma rede Docker, é obrigatório que a porta seja publicada no host, utilizando a opção -p ou a diretiva ports no Docker Compose.
V. A instrução CMD ["php-fpm"] define o processo principal do contêiner, responsável por manter o contêiner em execução e processar requisições FastCGI encaminhadas pelo servidor NGINX.
Assinale a alternativa CORRETA:
Comentários
Veja os comentários dos nossos alunos
A alternativa CORRETA é a B: Apenas as afirmativas I, II, III e V estão corretas.
- I. Correta: A instrução funciona apenas como uma documentação entre o criador da imagem e a pessoa que vai executar o contêiner. Ela avisa que o serviço roda naquela porta, mas não faz o mapeamento/publicação automática para o sistema hospedeiro (host).
- II. Correta: O Docker possui um servidor DNS interno para redes customizadas. Se dois contêineres estiverem conectados à mesma rede, eles conseguem se comunicar diretamente utilizando o nome do serviço ou contêiner como hostname (ex: ).
- III. Correta: A diretiva cria um ponto de montagem gerenciado pelo Docker, garantindo que tudo o que for gravado naquele diretório seja persistido no host e não seja apagado caso o contêiner seja destruído ou recriado.
- IV. Incorreta: Para que contêineres se comuniquem na mesma rede Docker, não é necessário expor ou publicar as portas no host ( ou ). A publicação de portas serve apenas para expor o serviço para o mundo externo (fora do ambiente isolado do Docker).
- V. Correta: O define o processo principal (PID 1) do contêiner. Enquanto o estiver em execução e ativo, o contêiner permanecerá de pé respondendo às requisições do NGINX
geminy
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo