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 iriezos.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.