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:
- A)docker create
Errada: docker create apenas cria um container a partir de uma imagem, sem capturar as alterações feitas no container em execução.
- B)docker diff
Errada: docker diff mostra as diferenças entre o container e a imagem base, mas não gera nova imagem.
- C)docker export
Errada: docker export gera um arquivo com o sistema de arquivos do container, mas não cria uma imagem Docker reutilizável com camadas.
- D)docker image save
Errada: docker image save salva uma imagem já existente em um arquivo, sem incorporar alterações feitas em um container em execução.
- E)docker commit
Certa: docker commit cria uma nova imagem a partir do estado atual de um container, preservando as modificações realizadas.
Gabarito: E
Em Docker, existe uma diferença importante entre olhar o que mudou no container e transformar essas mudanças em uma nova imagem. Se o container já está em execução e você alterou arquivos dentro dele, o comando adequado para “congelar” esse estado e criar uma nova imagem é o commit. Pense nele como tirar uma foto do container naquele instante e guardar como imagem reutilizável. O ponto central da questão é a persistência das modificações. O container, por natureza, é mais efêmero: quando ele é recriado, sem uma imagem base atualizada, as alterações feitas na execução podem desaparecer. Ao usar o comando correto, você cria uma nova camada de imagem com o estado atual do container, permitindo que essas mudanças sejam reaproveitadas depois. Já outros comandos da família Docker fazem coisas bem diferentes. Alguns apenas criam container, outros mostram diferenças ou exportam o sistema de arquivos. Isso confunde muita gente porque parecem próximos, mas só um deles serve para transformar o estado atual de um container em uma nova imagem Docker. Em provas, a banca costuma explorar exatamente essa distinção: alterar o container em execução não é o mesmo que salvar a imagem do container. O comando certo para consolidar o estado atual em uma nova imagem, preservando as mudanças, é o docker commit.