DEV Community

Heyglon Fábio
Heyglon Fábio

Posted on

GUIA PRÁTICO DE COMANDOS DO DOCKER #5

Neste artigo, iremos falar um pouco sobre Commit, Export e Import

1. Comando commit

O comando commit é utilizado para criar uma nova imagem baseada no estado atual de um container. Isso é útil quando você deseja preservar modificações feitas manualmente dentro de um container.
Exemplo Prático

1.1. Crie um container Alpine com shell habilitado:
docker container run -dt --name alpine-commit alpine:latest
1.2. Acesse o container:
docker container exec -it alpine-commit sh
1.3. Crie um arquivo dentro do container:
echo "Arquivo criado dentro do container" > container-file
Verifique o conteúdo:
cat container-file
1.4. Abra um novo terminal no host e gere a imagem baseada no container:
docker container commit alpine-commit alpine:custom
Neste caso:

  • alpine: nome da imagem
  • custom: tag personalizada

1.5. Confirme a criação da imagem
docker image ls
Você verá a nova imagem alpine:custom listada

2. Comando export

O comando export salva o sistema de arquivos de um container em um arquivo compactado .tar.
Diferente do commit, ele não cria uma imagem diretamente, apenas gera um snapshot do container.
Exemplo Prático

2.1. Crie um container Alpine:
docker container run -dt --name alpine-export alpine:latest
2.2. Acesse o container:
docker container exec -it alpine-export sh
2.3. Instale o pacote curl dentro do container (simulando uma modificação):
apk add curl
2.4. Abre um novo terminal no host e exporte o container:
docker container export alpine-export -o alpine-export.tar
A flag -o define o nome do arquivo de saída (output).

Agora você terá um arquivo chamado alpine-export.tar contendo o sistema de arquivos do container.

3. Comando import

O comando import transforma um arquivo .tar (gerado pelo export ou outros métodos) em uma nova imagem Docker.
Exemplo Prático

3.1. Importe o arquivo exportado anteriormente:
docker imagem import alpine-export.tar alpine:export
Neste caso, alpine é o nome da imagem e export é a tag da imagem.
3.2. Crie um container usando essa nova imagem:
docker container run -it --name alpine-import --entrypoint /bin/sh alpine:export
3.3. Verifique se as alterações ainda estão presentes (ex.: curl):
curl --version
Se o pacote estiver instalado, isso confirma que o estado do container foi preservado.

Resumo das Diferenças

  • commit : Cria uma nova imagem a partir de um container.
  • export : Gera um arquivo.tar com o sistema de arquivos do container.
  • import : Cria uma imagem a partir de um arquivo .tar.

Top comments (0)