Backups
Contexto
Um cliente pediu para eu fazer um teste em uma aplicação que estava rodando em um droplet da Digital Ocean. O teste era simples, mas seguindo boas práticas não iria fazer isso direto no servidor de produção dele. Então o que fiz foi subir um container com a aplicação dele localmente.
Abaixo vou deixar o passo a passo que realizei para trazer o banco de dados para o meu ambiente local.
Banco de dados utilizado: PostgreSQL
Passo a passo
- Conectar-se ao servidor DigitalOcean
ssh root@<ip do servidor>
Note
Certifique-se de substituir “ip do servidor” pelo endereço IP real do seu servidor.
- Criar um arquivo tar do volume Docker
docker run --rm -v postgres_data:/volume -v $(pwd):/backup alpine tar -cjf /backup/postgres_data.tar.bz2 -C /volume .
Isso criará um arquivo chamado “postgres_data.tar.bz2” no diretório atual dentro do servidor DigitalOcean.
Note
Certifique-se de substituir “postgres_data” pelo nome do volume que você deseja fazer backup.
- Copiar o arquivo tar para o seu computador local
scp root@seu_endereco_ip:/caminho/para/postgres_data.tar.bz2 /caminho/local/para/salvar/o/arquivo/
- Descompactar o arquivo tar
tar -xjf postgres_data.tar.bz2
-
Neste passo você tem duas opções:
- Criar um container com o volume descompactado
docker run -d -v /caminho/local/para/postgres_data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=sua_senha -p 5432:5432 postgres
- Ou adicionar o volume diretamente em seu arquivo docker compose:
volumes: - /caminho/local/para/postgres_data:/var/lib/postgresql/data