Pular para o conteúdo principal

Docker - Backup e Recuperação

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

Postagens mais visitadas deste blog

Como Ofuscar o Seu Código Java?

Para ofuscar e proteger seu código Java, você pode usar uma ferramenta de ofuscação. A ofuscação torna o código-fonte mais difícil de entender e reverso-engenharia, mas ainda funcionando da mesma maneira. Ppara ofuscar seu código Java usando a ferramenta popular ProGuard, s iga os passos a seguir : Baixe o ProGuard: Faça o download do ProGuard no site oficial: https://www.guardsquare.com/en/products/proguard. Descompacte o arquivo: Depois de baixar o ProGuard, descompacte o arquivo em uma pasta de sua escolha. Configure o ProGuard: Crie um arquivo de configuração chamado proguard.conf. Nele, você deve especificar os detalhes do projeto, como arquivos JAR de entrada e saída, bibliotecas e opções de ofuscação. Por exemplo: -injars       input.jar -outjars      output.jar -libraryjars  /caminho/para/jdk/jre/lib/rt.jar -printmapping mapping.txt -dontoptimize -dontshrink -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontskipnonpublicli...

O que é Transpilação ?

A transpilação é, essencialmente, uma tradução especializada do processo de compilação. O procedimento é realizado de forma semelhante ao que um compilador faz, porém com uma diferença notável: enquanto um compilador tradicional tem como alvo um código de baixo nível, como Assembly ou código de máquina, o transpilador tem como objetivo um código-fonte em uma linguagem diferente ou a mesma linguagem escrita de outra maneira. Linguagens como CoffeeScript, TypeScript e o próprio JavaScript usam a transpilação para garantir compatibilidade entre versões. Há também outras linguagens que geram código-fonte em C em vez de código de baixo nível. Dessa forma, é possível programar em ES6 sem preocupações, mesmo que você queira oferecer suporte a navegadores antigos com versões mais antigas da especificação EcmaScript. Basta realizar a transpilação do ES6 para uma versão anterior e o código poderá ser executado em qualquer lugar. Isso se torna ainda mais fácil, já que muitas das novidades do Java...
EAAS – TUDO COMO SERVIÇO:  MUDANÇAS E TENDENCIAS DO TIC NAS EMPRESAS   Por Thiago Neri e  Italo Schramm Resumo   Este   artigo aborda os conceitos de   Cloud   Computing , especificamente a tipologia   EaaS , voltado para empresas que a utilizam, para aquelas   que   querem e   estão em processos de mudança de plataforma. Foram pesquisados os dados de migração das empresas para essa plataforma, bem como temas de segurança e disponibilidade dela no nosso país, com o objetivo de entender o porquê das empresas buscarem   esse serviço e as suas tendências.    Palavras-chave :   Cloud   Computing .   EaaS .   Plataforma.      Introdução   Apesar dos conceitos serem antigos,   o   Cloud   Computing   ainda é muito recente, podemos dizer que estamos no início de tudo   e sua história ainda está sendo escrita. O que eram ideias e ...