Как делать бекапы баз данных на 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.