A analista Sara modificou alguns arquivos do container Docke...

Próximas questões
Com base no mesmo assunto
Q1933288 Sistemas Operacionais
A analista Sara modificou alguns arquivos do container Docker TJSiteContainer que se encontra em execução. Para criar uma imagem Docker a partir do estado atual de TJSiteContainer, a fim de persistirem as modificações efetuadas em seus arquivos, Sara deve utilizar o comando:
Alternativas

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