Reconstruyo la imagen o reinicio el contenedor, ¿a dónde van los datos de mi base de datos? ¿Se ha ido?
- No, los datos no se han ido. La única vez que se eliminan los datos es si elimina el contenedor:
docker rm <my postgres container>
. La única vez que esto no es cierto es si monta un volumen en el contenedor para exponer el volumen de datos:docker run -td -p 5432:5432 -v /mydata/volume:/var/lib/postgresql/data postgres:9.5.2
Quiero usar mi base de datos en mi aplicación Flask (Docker), ¿qué debo poner en mi configuración? (URI_BASE DE DATOS, NOMBRE, etc.)
- Esto puede ser un tema de debate, pero usaría una variable de entorno que establezca cuando inicie el contenedor:
docker run -td -p 80:5000 -e POSTGRES_URL=172.12.20.1 mycontainer/flask:latest
En tu configuración iríasos.getenv('POSTGRES_URL', 'localhost')
. Esto le permite utilizar localhost de forma predeterminada si el contenedor está vinculado; de lo contrario, puede señalarlo a otro contenedor que se ejecuta en otra máquina. Esto es mejor porque permite una mayor flexibilidad en su implementación.
¿Quiero hacer una copia de seguridad de mi base de datos o cargar datos en ella? ¿Puedo simplemente conectarme a él?
- Sí, como cualquier otra cosa, puede conectarse a Postgres en
IP:PORT
usando las credenciales que especificó en tiempo de ejecución del contenedor.