sql >> Databáze >  >> RDS >> PostgreSQL

Jak to funguje pomocí databáze PostgreSQL s Docker a Flask?

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 na os.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.



  1. MySQL zmatek v časovém pásmu

  2. Vytvoření clusteru MySQL pomocí kontejnerů mysql-server docker na více serverech

  3. Jak používat FILEGROUPPROPERTY() v SQL Server

  4. PHP PDO Update Statement nefunguje