Skip to content

Instantly share code, notes, and snippets.

@afbio
Created December 10, 2015 19:16
Show Gist options
  • Save afbio/37831e8ac4d6433ebd46 to your computer and use it in GitHub Desktop.
Save afbio/37831e8ac4d6433ebd46 to your computer and use it in GitHub Desktop.
Database's snapshot using Docker

Pull da imagem base para o DB

docker pull mysql:5.5

Pull da imagem a ser usada para extrair o snapshot. Pode ser qualquer outro que contenha o tar

docker pull ubuntu

Cria pasta onde serao salvos os snapshots

mkdir scenes

Criar o container com o DB

docker run --name mysql55 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.5

USAR O DB

USAR O DB

Exporta um snapshot do cenario atual do DB

docker run --volumes-from mysql55 -v $(pwd)/scenes:/scenes --name run_tar ubuntu tar cvf /scenes/scene_nome_aqui.tar /var/lib/mysql

Exclui o container usado para rodar o tar

docker rm run_tar

Gera um novo container + importa e extrai o snapshot desejado + reinicia o container

docker run --name nomeNovoContainer -e MYSQL_ROOT_PASSWORD=root -v $(pwd)/scenes/:/scenes -d mysql:5.5 && docker exec -it nomeNovoContainer bash -c "rm -rf /var/lib/mysql/* && tar xvf /scenes/scene_nome_aqui.tar" && docker stop nomeNovoContainer && docker start nomeNovoContainer

USAR O DB no novo container

USAR O DB no novo container

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment