Como fazer backup de bases de dados no localhost

Aprenda a configurar o Databasus para fazer cópias de segurança de bases de dados PostgreSQL rodando na sua máquina host (localhost) quando você usa Docker.

O problema

Se você roda o Databasus em Docker e quer fazer backup de bases de dados rodando na sua máquina host (localhost), precisa configurar o Docker para usar o modo de rede host.

Por padrão, os containers do Docker rodam numa rede isolada e não conseguem acessar os serviços no localhost. O modo de rede host permite que o container compartilhe o namespace de rede do host.

Solução para Docker Compose

Atualize o seu docker-compose.yml para usar network_mode: host:

services:
  databasus:
    container_name: databasus
    image: databasus/databasus:latest
    network_mode: host
    volumes:
      - ./databasus-data:/databasus-data
    restart: unless-stopped

Solução para Docker run

Use a flag --network host:

docker run -d \
  --name databasus \
  --network host \
  -v ./databasus-data:/databasus-data \
  --restart unless-stopped \
  databasus/databasus:latest

💡 Nota: ao usar o modo de rede host, você pode se conectar à sua base de dados no localhost usando 127.0.0.1 ou localhost como host na configuração de backup do Databasus. Você também acessará a interface do Databasus diretamente em http://localhost:4005 sem mapeamento de portas.

⚠️ Importante para quem usa Windows e macOS: o modo de rede host só funciona nativamente em Linux. No Windows e no macOS, o Docker roda dentro de uma VM Linux, por isso você deve usar host.docker.internal em vez de localhost como endereço do host da base de dados na sua configuração de backup.