Pular para o conteúdo

Como realizar backup/restore Postgres com Docker remoto para local Ubuntu

Fala Dev!

Caso haja a necessidade, é possível realizar na sua máquina local o backup e restore de um banco de dados de um container em um servidor remoto para um container em servidor local. Basta seguir os passos:

1 – Definindo variável de ambiente DOCKER_HOST

Para isso é necessário que você tenha configurado o acesso SSH ao servidor remoto. Logo em seguida é possível definir a variável de ambiente:

export DOCKER_HOST=ssh://nome_de_usuario@ip_ou_nome_do_host

A partir deste momento, quando você rodar docker ps, os containers do servidor remoto serão listados. Essa env faz o seu servidor local apontar para um servidor remoto.

2 – Realizando o backup do banco do ambiente remoto

docker exec -t seu_container_db_remoto pg_dumpall -c -U postgres > dump_`date +%d-%m-%Y"_"%H_%M_%S`.sql

O arquivo será salvo na sua pasta atual.

3 – Removendo variável de ambiente DOCKER_HOST

Este passo é necessário para apontar o seu docker para o ambiente local novamente.

unset DOCKER_HOST

4 – Realizando o restore do banco de dados no ambiente local

Nesse momento será possível realizar o restore do banco de dados no seu ambiente local.

cat dump_15-09-2022_16_59_34.sql | docker exec -i seu_container_db_local psql -U postgres

Conclusão

É isso ai, dessa forma você poderá realizar o backup do banco de dados em um docker remoto e um restore para um docker local. Espero que tenha te ajudado 😀

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.