PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie funktioniert die Verwendung einer PostgreSQL-Datenbank mit Docker und Flask?

Ich erstelle das Image neu oder starte den Container neu, wohin gehen meine Datenbankdaten? Ist es weg?

  • Nein, die Daten sind nicht weg. Daten werden nur entfernt, wenn Sie den Container entfernen:docker rm <my postgres container> . Dies ist nur dann nicht der Fall, wenn Sie ein Volume in den Container mounten, um das Datenvolume verfügbar zu machen:docker run -td -p 5432:5432 -v /mydata/volume:/var/lib/postgresql/data postgres:9.5.2

Ich möchte meine Datenbank in meiner Flask (Docker)-Anwendung verwenden, was muss ich in meine Konfiguration einfügen? (DATENBANK_URI, NAME etc..)

  • Dies kann ein Diskussionsthema sein, aber ich würde eine Umgebungsvariable verwenden, die Sie beim Starten des Containers festlegen:docker run -td -p 80:5000 -e POSTGRES_URL=172.12.20.1 mycontainer/flask:latest In Ihrer Konfiguration würden Sie os.getenv('POSTGRES_URL', 'localhost') eingeben . Auf diese Weise können Sie standardmäßig localhost verwenden, wenn der Container verknüpft ist, andernfalls können Sie ihn auf einen anderen Container verweisen, der auf einem anderen Computer ausgeführt wird. Dies ist besser, da es eine größere Flexibilität bei Ihrer Bereitstellung ermöglicht.

Ich möchte meine Datenbank sichern oder Daten darin laden? Kann ich mich einfach damit verbinden?

  • Ja, genau wie alles andere können Sie sich über IP:PORT mit Postgres verbinden mit den Anmeldeinformationen, die Sie zur Containerlaufzeit angegeben haben.