PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Utilizzando un database PostgreSQL con Docker e Flask, come funziona?

Ricostruisco l'immagine o riavvio il container, dove vanno a finire i dati del mio database? È andato?

  • No, i dati non sono spariti. L'unica volta in cui i dati vengono rimossi è se si rimuove il contenitore:docker rm <my postgres container> . L'unica volta che questo non è vero è se monti un volume nel contenitore per esporre il volume di dati:docker run -td -p 5432:5432 -v /mydata/volume:/var/lib/postgresql/data postgres:9.5.2

Voglio usare il mio database nella mia applicazione Flask (Docker), cosa devo inserire nella mia configurazione? (DATABASE_URI, NOME ecc.)

  • Questo può essere oggetto di dibattito ma userei una variabile di ambiente che imposti all'avvio del contenitore:docker run -td -p 80:5000 -e POSTGRES_URL=172.12.20.1 mycontainer/flask:latest Nella tua configurazione dovresti andare os.getenv('POSTGRES_URL', 'localhost') . Ciò ti consente di impostare come predefinito localhost se il container è collegato, altrimenti puoi puntarlo a un altro container in esecuzione su un'altra macchina. Questo è meglio perché consente una maggiore flessibilità nella distribuzione.

Voglio eseguire il backup del mio database o caricare i dati in esso? Posso semplicemente collegarmi ad esso?

  • Sì, come qualsiasi altra cosa puoi connetterti a Postgres su IP:PORT utilizzando le credenziali specificate al runtime del contenitore.