Analise as afirmativas abaixo sobre containers Docker e assinale a alternativa correta. I. Cada imagem Docker possibilita a criação de um container, exclusivamente. II. Os arquivos Dockerfile reúnem as definições para instanciar os containers. III. Os containers publicam as portas definidas pelas instruções EXPOSE, presentes no Dockerfile.
- A)Somente as afirmativas II e III estão corretas.
Errada, porque as afirmativas II e III nao estao corretas.
- B)Somente as afirmativas I e III estão corretas.
Errada, porque a afirmativa I tambem esta incorreta.
- C)Somente as afirmativas I e II estão corretas.
Errada, porque tanto I quanto II estao incorretas.
- D)Nenhuma afirmativa está correta.
Certa, porque as tres afirmativas apresentam erros conceituais sobre imagens, Dockerfile e publicacao de portas.
- E)Todas as afirmativas estão corretas.
Errada, porque nenhuma das afirmativas esta correta.
Gabarito: D
Docker costuma confundir porque mistura três peças parecidas, mas com funções diferentes: imagem, container e Dockerfile. Pense assim: o Dockerfile eh a receita; a imagem eh o bolo pronto, gerado a partir da receita; e o container eh a fatia em execução, ou seja, a instancia viva da imagem. O Dockerfile nao instancia containers diretamente: ele define instrucoes para construir uma imagem, como base, copia de arquivos, comandos e portas sugeridas. A afirmativa I erra porque uma mesma imagem Docker pode gerar varios containers, e nao somente um. A ideia central da virtualizacao leve com containers eh justamente permitir multiplas instancias isoladas da mesma imagem, cada uma com seu proprio estado em tempo de execucao. A afirmativa II tambem esta errada porque o Dockerfile serve para construir imagens, e nao para instanciar containers. Quem instancia o container eh o comando de execucao, como o docker run, que cria e inicia um container a partir de uma imagem ja pronta. A afirmativa III erra porque a instrucao EXPOSE no Dockerfile apenas documenta que o container tende a usar determinada porta e ajuda ferramentas e usuarios a entender isso. Ela nao publica a porta para o mundo externo por si so; para isso, voce normalmente usa o mapeamento de portas na execucao, como -p ou --publish. Por isso, nenhuma das afirmativas esta correta, e o gabarito D faz sentido.