Introdução
Essa configuração descreverá um procedimento de como fazer backup de um container do docker e também mostrará como recupera-lo no mesmo sistema ou em algum sistema secundário que possui o docker instalado.
Como Fazer o backup do Docker
Quando precisamos fazer um backup de um contêiner de docker, obtemos o commit do seu estado atual e salvamos como uma imagem do docker.
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a7b03484bed6 bitnami/jenkins:2 "/app-entrypoint.sh …" 7 days ago Up 42 hours tcp, 0.0.0.0:80->8080 opt_jenkins_1
A partir da saída acima, vemos um container do docker em execução nomeado como opt_jenkins_1 com um ID a7b03484bed6. Agora, usamos o comando commit para tirar uma imagem de seu estado de execução atual.
$ sudo docker commit -p a7b03484bed6 opt_jenkins_1
sha256:0bbcb2b71abb35da73b0dc2e0bafed7eb61c5b4565cd8f4093e9efb7a6a12d64
Com o comando a acima, pausamos primeiro o contêiner em execução com a opção -p e fizemos um commit para salvar o container como uma imagem do docker com o nome opt_jenkins_1.$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
opt_jenkins_1 latest 0bbcb2b71abb 37 seconds ago 2.71GB
Agora, temos um backup do container salvo como uma imagem aguardando para ser reimplantada novamente. Se desejarmos reimplementar nossa imagem opt_jenkins_1, podemos executar o comando push e colocar a imagem no repositório do docker já existente.$ sudo docker login
$ sudo docker push opt_jenkins_1
Ou podemos salvá-lo como um arquivo tar e movê-lo livremente para qualquer sistema para uma nova implantação.$ sudo docker save -o /opt/jenkins.tar opt_jenkins_1
$ ls -l
-rw------- 1 root root 2753656832 Jan 8 09:36 jenkins.tar
Recuperação da imagem
Os parágrafos acima explicaram como fazer backup de um container do docker. Agora, discutiremos como recuperar essa imagem.
Para realizar a recuperação, podemos simplesmente usar o comando run, para iniciar uma nova instância a partir da imagem opt_jenkins_1. Agora, Se quiser transferir nosso jenkins.tar que é nosso arquivo de backup para outro sistema host do docker, depois de transferi-lo, precisamos fazer load do arquivo tar no repositório de imagens local do docker.
$ sudo docker load -i /opt/jenkins.tar
Confirme se a imagem foi carregada com o comando a baixo.$ sudo docker images
Agora podemos usar o comando docker run para iniciar uma nova instância a partir da imagem opt_jenkins_1 carregada a cima.Qualquer duvida manda nos comentários.
Abraços a todos.
Comentários
Postar um comentário