sql >> Base de Datos >  >> RDS >> PostgreSQL

Usando una base de datos PostgreSQL con Docker y Flask, ¿cómo funciona?

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ías os.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.