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