CodeGym /Cursos /Docker SELF /Backups e recuperação de dados

Backups e recuperação de dados

Docker SELF
Nível 19 , Lição 3
Disponível

4.1 Métodos principais de backup e recuperação de dados

Se você já perdeu dados importantes pelo menos uma vez na vida, não preciso nem te explicar por que backups são tão importantes. Nesta aula, vamos ver diferentes métodos e ferramentas pra criar backups e recuperar dados no Docker, incluindo volumes e diretórios montados.

Métodos principais de backup e recuperação de dados

  1. Backups de volumes do Docker
  2. Usando a ferramenta tar pra backups
  3. Backups de bancos de dados dentro de containers
  4. Recuperação de dados a partir de backups

4.2 Backups de volumes Docker

Os volumes do Docker oferecem uma forma prática de armazenar dados fora dos containers. Para criar backups de volumes, é possível usar várias abordagens.

Exemplo de uso do comando docker run para backup de um volume

Criando um backup de um volume

Crie um container que monta o volume e use a ferramenta tar para criar um arquivo de dados:

Terminal

docker run --rm -v my_volume:/data -v /path/to/backup:/backup busybox tar czf 
/backup/my_volume_backup.tar.gz -C /data .

Nesse exemplo, o conteúdo do volume my_volume é compactado no arquivo my_volume_backup.tar.gz, que é salvo na pasta /path/to/backup no host.

Exemplo de restauração de um volume a partir de um backup

Restaurando dados em um volume

Crie um container que monta o volume e a pasta com o backup, e use a ferramenta tar para extrair os dados:

Terminal

docker run --rm -v my_volume:/data -v /path/to/backup:/backup busybox tar xzf 
/backup/my_volume_backup.tar.gz -C /data

Nesse exemplo, os dados do arquivo my_volume_backup.tar.gz são extraídos para o volume my_volume.

4.3 Usando a ferramenta tar para backups

A ferramenta tar é uma ferramenta poderosa para criação de backups e recuperação de dados. Ela pode ser utilizada tanto dentro de containers quanto no sistema host.

Exemplo de criação de backup dentro de um container

Inicie o container com os dados necessários e crie um arquivo arquivado usando tar:

Terminal

docker exec -t my_container tar czf /backup/my_container_backup.tar.gz -C /data .

Nesse exemplo, os dados do diretório /data dentro do container my_container são arquivados no arquivo my_container_backup.tar.gz.

Exemplo de recuperação de dados do arquivo

Inicie o container e use o tar para extrair os dados do arquivo:

Terminal

docker exec -t my_container tar xzf /backup/my_container_backup.tar.gz -C /data

4.4 Backups de bancos de dados dentro de containers

Para bancos de dados, muitas vezes são utilizadas ferramentas especializadas para backups e restauração.

Exemplo de backup de banco de dados PostgreSQL

Use a ferramenta pg_dump para criar um backup do banco de dados:

Terminal

docker exec -t my_postgres_container pg_dump -U myuser mydb > /path/to/backup/mydb_backup.sql

Neste exemplo, o banco de dados mydb é exportado para o arquivo mydb_backup.sql.

Exemplo de restauração de banco de dados PostgreSQL

Use a ferramenta psql para restaurar o banco de dados a partir de um backup:

Terminal

cat /path/to/backup/mydb_backup.sql | docker exec -i my_postgres_container psql -U myuser mydb

4.5 Recuperação de dados a partir de backups

A recuperação de dados é o processo de extração de dados a partir de backups criados anteriormente.

Exemplo de recuperação de dados de um volume

Use o comando docker run para extrair os dados no volume:

Terminal

docker run --rm -v my_volume:/data -v /path/to/backup:/backup busybox tar xzf
/backup/my_volume_backup.tar.gz -C /data

Exemplo de recuperação de um banco de dados MySQL

Use a ferramenta mysqldump para criar um backup do banco de dados:

Terminal

docker exec my_mysql_container mysqldump -u myuser -p mypassword mydb >
/path/to/backup/mydb_backup.sql

Use a ferramenta mysql para restaurar o banco de dados:

Terminal

cat /path/to/backup/mydb_backup.sql | docker exec -i my_mysql_container mysql -u myuser -p
mypassword mydb
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION