PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Utiliser une base de données PostgreSQL avec Docker et Flask, comment ça marche ?

Je reconstruis l'image ou redémarre le conteneur, où vont mes données de base de données ? Est-ce parti?

  • Non, les données n'ont pas disparu. La seule fois où les données sont supprimées, c'est si vous supprimez le conteneur :docker rm <my postgres container> . La seule fois où ce n'est pas vrai, c'est si vous montez un volume sur le conteneur pour exposer le volume de données :docker run -td -p 5432:5432 -v /mydata/volume:/var/lib/postgresql/data postgres:9.5.2

Je souhaite utiliser ma base de données dans mon application Flask (Docker), que dois-je mettre dans ma config ? (DATABASE_URI, NOM etc..)

  • Cela peut être un sujet de débat mais j'utiliserais une variable d'environnement que vous définissez lorsque vous démarrez le conteneur :docker run -td -p 80:5000 -e POSTGRES_URL=172.12.20.1 mycontainer/flask:latest Dans votre configuration, vous iriez os.getenv('POSTGRES_URL', 'localhost') . Cela vous permet de choisir par défaut localhost si le conteneur est lié, sinon vous pouvez le pointer vers un autre conteneur exécuté sur une autre machine. C'est mieux car cela permet une plus grande flexibilité dans votre déploiement.

Je veux sauvegarder ma base de données ou y charger des données ? Puis-je simplement m'y connecter ?

  • Oui, comme n'importe quoi d'autre, vous pouvez vous connecter à Postgres sur IP:PORT en utilisant les informations d'identification que vous avez spécifiées lors de l'exécution du conteneur.