Как делать бекапы баз данных на localhost

Как настроить Databasus в Docker для резервного копирования баз данных PostgreSQL, запущенных на хост-машине (localhost).

Проблема

Если Databasus запущен в Docker и вы хотите делать бекапы баз данных на хост-машине (localhost), нужно включить в Docker режим host network.

По умолчанию контейнеры Docker работают в изолированной сети и не имеют доступа к сервисам на localhost. В режиме host network контейнер использует сеть хоста напрямую.

Решение для Docker Compose

Добавьте в файл docker-compose.yml строку network_mode: host:

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

Решение для Docker run

Используйте флаг --network host:

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

💡 Примечание: в режиме host network вы можете подключаться к локальной базе данных, указав 127.0.0.1 или localhost как хост в настройках резервного копирования Databasus. Интерфейс Databasus также будет доступен напрямую по адресу http://localhost:4005 без проброса портов.

⚠️ Важно для пользователей Windows и macOS: режим сети host нативно работает только на Linux. На Windows и macOS Docker работает внутри виртуальной машины Linux, поэтому вместо localhost в качестве адреса базы данных в настройках резервного копирования нужно указывать host.docker.internal.