A analista Sara modificou alguns arquivos do container Docke...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é: E - docker commit
Vamos entender melhor o porquê dessa resposta e os conceitos envolvidos nessa questão.
Quando um container Docker está em execução e você faz modificações nele, essas alterações são feitas no sistema de arquivos do container. Para que essas mudanças sejam persistidas e possam ser reutilizadas posteriormente, você precisa criar uma nova imagem a partir do estado atual do container.
O comando utilizado para isso é o docker commit. Esse comando cria uma nova imagem Docker a partir de um container em execução, incluindo todas as modificações que foram feitas. O comando geral é:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
Abaixo, vamos entender por que as outras alternativas estão incorretas:
A - docker create: Esse comando é utilizado para criar um novo container a partir de uma imagem existente, mas não é usado para criar uma imagem a partir de um container modificado.
B - docker diff: O comando docker diff mostra as diferenças entre o sistema de arquivos do container e a imagem original, mas não cria uma nova imagem.
C - docker export: Esse comando exporta o sistema de arquivos de um container como um tarball, mas não é usado para criar uma nova imagem Docker.
D - docker image save: O comando docker image save é utilizado para salvar uma ou mais imagens em um arquivo tar, mas novamente, ele não cria imagens a partir de containers modificados.
Portanto, o comando correto para a situação descrita é docker commit, pois ele permite que as mudanças feitas no container em execução sejam salvas em uma nova imagem Docker.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
primeiramente , vamos definir o que é Docker.
O Docker é um sistema de virtualização não convencional. Mas o que isso quer dizer? Em virtualizações convencionais temos um software instalado na máquina Host que irá gerenciar as máquinas virtuais (ex.: VirtualBox, VMWare, Parallels e etc...).
Docker utiliza uma abordagem de container.
Imagine nosso software como uma mercadoria a ser transportar como por exemplo, do ambiente de Desenvolvimento para Produção.
Para fazer isso precisamos garantir que nosso ambiente de Produção tenha todos os pré-requisitos instalados, de preferência uma versão do S.O. parecida com a do ambiente de Desenvolvimento entre outros cuidados que devem ser tomados (relacionados a permissionamento, serviços dependentes e etc...).
Com o Docker temos um container com nosso software. Esse container é levado inteiro para o outro ambiente.
Com isso não precisamos nos preocupar com pré-requisitos instalados no outro ambiente, versão do S.O., permissionamento e se quisermos podemos ter containers para os serviços dependentes também. Dessa forma minimizamos muito a divergência entre os ambientes.
agora vamos aos comandos apresentados:
Docker commit:
esse comando gera uma nova imagem do container, com as mudanças efetivadas
Docker create:
gera um novo container através de uma imagem especificada, sem inicializa-lo
Docker diff:
lista os arquivos e diretorios modificados no sistema de arquivos do container , desde a sua criação
Docker Export:
exporta os arquivos do container em formato .tar
Docker image save:
salva uma ou mais imagens no formato .Tar
o que seria o formato TAR:
TAR ou tar (abreviatura de Tape ARchive), é um formato de arquivamento de arquivos (ficheiros). Apesar do nome "tar" ser derivado de "tape archive", o seu uso não se restringe a fitas magnéticas. Ele se tornou largamente usado para armazenar vários arquivos em um único, preservando informações como datas e permissões.
a fim de persistirem as modificações efetuadas em seus arquivos = commit
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo