Em arquiteturas modernas baseadas em contêineres, aplicações...

Próximas questões
Com base no mesmo assunto
Q4071612 Sistemas Operacionais
Em arquiteturas modernas baseadas em contêineres, aplicações web frequentemente são executadas em múltiplos serviços isolados. Um padrão comum consiste em utilizar NGINX como servidor web e proxy reverso, encaminhando requisições PHP para um contêiner que executa PHP-FPM, enquanto o banco de dados MySQL é executado em outro contêiner dentro da mesma rede Docker.
Considere o seguinte Dockerfile, utilizado para construir a imagem da aplicação PHP:
Imagem associada para resolução da questão
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:
Alternativas

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