Znovu sestavím obraz nebo restartuji kontejner, kam jdou data mé databáze? je to pryč?
- Ne, data nejsou pryč. Jediný čas, kdy jsou data odstraněna, je, když odeberete kontejner:
docker rm <my postgres container>
. Jediný případ, kdy to není pravda, je, když ke kontejneru připojíte svazek, abyste odkryli objem dat:docker run -td -p 5432:5432 -v /mydata/volume:/var/lib/postgresql/data postgres:9.5.2
Chci používat svou databázi ve své aplikaci Flask (Docker), co musím vložit do své konfigurace? (DATABASE_URI, NAME atd..)
- Toto může být předmětem debaty, ale použil bych proměnnou prostředí, kterou nastavíte při spouštění kontejneru:
docker run -td -p 80:5000 -e POSTGRES_URL=172.12.20.1 mycontainer/flask:latest
Ve vaší konfiguraci byste měli přejít naos.getenv('POSTGRES_URL', 'localhost')
. To vám umožní nastavit výchozí localhost, pokud je kontejner propojen, jinak jej můžete nasměrovat na jiný kontejner běžící na jiném počítači. To je lepší, protože to umožňuje větší flexibilitu při nasazení.
Chci zálohovat databázi nebo do ní načíst data? Mohu se k němu jen připojit?
- Ano, stejně jako cokoli jiného se můžete připojit k Postgresu na
IP:PORT
pomocí přihlašovacích údajů, které jste zadali při běhu kontejneru.