Configuração de persistência de dados
Reconstruir container sem perder dados —— esse passo é crítico
Lições aprendidas na marra
você baixou a imagem nova do container com vontade, reiniciou e viu — config sumiu, dado sumiu, tudo que arrumou virou zero. Não é bug, é comportamento normal do Docker: container é temporário, deleta e pronto. Você não persiste, ele também não.
Solução
Usa Docker volume mapping pra mapear diretório importante do container pra caminho físico da máquina. Container deleta, reconstrói, tanto faz, se o arquivo do path mapeado tá lá, dado não some. Essa é a operação Docker mais básica e importante, sem sombra de dúvida.
quatro passos persistência
cria estrutura de diretório
Cria um diretório de dados no NAS. Com estrutura limpa, depois fica fácil fazer backup e migração. Dica: divide em quatro subdiretórios por funcionalidade: data, config, logs, memory.
Mapeia volume pro container
No docker-compose.yml ou interface de gerenciamento Docker, mapeia o diretório do host pra o caminho correspondente dentro do container. Depois que mapeia, os dados que o container escreve já fica no HD do NAS.
Configurar backup agendado
Os dados tão no NAS sim, mas RAID não protege contra você deletar arquivo sem querer. Escreve um script simples de backup, coloca no cron, mais uma camada de segurança.
Validar instalação
não faz só backup, testa. Deleta o container e reconstrói, confere se dado tá lá, config ainda tá valendo, serviço inicia normal. Quando cair de verdade e achar backup ruim, aí fica feio.
Exemplo de mapeamento volume
estrutura de diretório recomendada e forma de mapping, funciona pra Synology, QNAP, Unraid, etc:
services:
Script de backup automático
escreve um script, compacta backup todo dia. Guarda últimos 7 dias, limpa os velhos:
#!/bin/bash
Configuração de tarefa agendada
Adiciona o script de backup ao cron, executa automaticamente às 3 da manhã:
# Editar crontab
Backup avançado e recuperação de desastre
Se a segurança dos dados é prioridade maior, tem um tutorial avançado sobre backup que cobre backup incremental, backup criptografado, sincronização em nuvem, etc: