Cómo hacer copia de seguridad de bases de datos en localhost
Aprenda a configurar Databasus para respaldar bases de datos PostgreSQL que se ejecutan en su máquina anfitriona (localhost) cuando usa Docker.
El problema
Si ejecuta Databasus en Docker y quiere respaldar bases de datos que corren en su máquina anfitriona (localhost), debe configurar Docker para usar el modo de red host.
De forma predeterminada, los contenedores de Docker se ejecutan en una red aislada y no pueden acceder a los servicios en localhost. El modo de red host permite que el contenedor comparta el espacio de nombres de red del anfitrión.
Solución para Docker Compose
Actualice su archivo 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-stoppedSolución para docker run
Use la opción --network host:
docker run -d \
--name databasus \
--network host \
-v ./databasus-data:/databasus-data \
--restart unless-stopped \
databasus/databasus:latest💡 Nota: con el modo de red host puede conectarse a su base de datos en localhost usando 127.0.0.1 o localhost como host en la configuración de respaldo de Databasus. También accederá a la interfaz de Databasus directamente en http://localhost:4005 sin mapeo de puertos.
⚠️ Importante para usuarios de Windows y macOS: el modo de red host solo funciona de forma nativa en Linux. En Windows y macOS, Docker se ejecuta dentro de una VM de Linux, así que debe usar host.docker.internal en lugar de localhost como dirección del host de la base de datos en la configuración de respaldo.