Introdução
Nesta postagem, exploraremos um guia prático para a criação de dumps de banco de dados PostgreSQL em contêineres Docker. Abordaremos o acesso ao container, a utilização do pg_dump e a exportação dos dados para fora do contêiner.
Acessar container Docker
Para iniciar, é crucial acessar o contêiner que hospeda o banco de dados PostgreSQL. Você pode usar o comando docker exec para entrar no ambiente do contêiner. Este comando executa um novo comando em um contêiner em execução.
docker exec -it ID_CONTAINER /bin/bash
O -it permite que você interaja com o terminal dentro do contêiner. O ID_CONTAINER é o identificador do container que possui o banco de dados. O /bin/bash permite que um shell Bash seja iniciado dentro do contêiner, o que proporciona uma interface de interação com o ambiente do contêiner.
Gerar Dump utilizando pg_dump
Com o acesso ao contêiner estabelecido, é hora de gerar o dump do banco de dados. Utilizaremos a ferramenta pg_dump, que é padrão no PostgreSQL e oferece opções para personalizar o processo de backup. Para gerar o arquivo com o backup, execute o comando abaixo:
pg_dump -U username -d dbname -f NOME_DO_ARQUIVO_DUMP.sql
Onde,
-
-U username: Nome de usuário para conectar-se ao banco. -
-d dbname: Especifica o nome do banco de dados ao qual deseja conectar-se. -
-f file: Nome do arquivo que receberá o script com o dump.
Será solicitado a você a senha do banco de dados. Ao inserir a senha, o arquivo com o dump será exportado para o container. Mas, como eu tenho acesso a esse arquivo, que se encontra dentro do meu container?
Exportar arquivo para fora do container
Após a conclusão do dump, sairemos do contêiner. Para isso, basta executar o comando exit.
Em seguida, utilizaremos o comando cp para exportar o arquivo de dump do contêiner para o sistema de arquivos local. Para isso, basta executar o comando abaixo:
docker cp idcontainer:/caminho/no/container/NOME_DO_ARQUIVO_DUMP.sql /caminho/no/host/local/
Para facilitar o nosso entendimento, vou dar um exemplo. Digamos que você tem um container com id 6abfa0ee2d87, contendo o arquivo de dump meu_dump_2023.sql, e você deseja exportar para o seu diretório local. Você deveria executar o seguinte comando:
docker cp 6abfa0ee2d87:meu_dump_2023.sql .
Conclusão
Com estes passos simples, você pode criar dumps de banco de dados PostgreSQL em ambientes Docker de maneira simples. Este processo é fundamental para a segurança e a continuidade dos dados, proporcionando uma abordagem prática e segura para backups em contêineres.



Top comments (5)
ótimo artigo, me salvou muito
Opa, cara que mensagem boa! Fiquei muito feliz em saber que puder te ajudar!!!!
Boa, mandou bem demais
Explicação bem direta e muito bem feita!
Muito obrigado Mateus!
Valeu meu mano