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 (2)
ótimo artigo, me salvou muito
Opa, cara que mensagem boa! Fiquei muito feliz em saber que puder te ajudar!!!!