Przebudowuję obraz lub ponownie uruchamiam kontener, gdzie trafiają moje dane z bazy danych? Czy to zniknęło?
- Nie, dane nie zniknęły. Jedynym momentem usunięcia danych jest usunięcie kontenera:
docker rm <my postgres container>
. Nie jest to prawdą tylko wtedy, gdy zamontujesz wolumin do kontenera w celu ujawnienia woluminu danych:docker run -td -p 5432:5432 -v /mydata/volume:/var/lib/postgresql/data postgres:9.5.2
Chcę używać mojej bazy danych w mojej aplikacji Flask (Docker), co muszę umieścić w mojej konfiguracji? (URI_BAZY DANYCH, NAZWA itp.)
- Może to być przedmiotem debaty, ale użyłbym zmiennej środowiskowej, którą ustawiasz podczas uruchamiania kontenera:
docker run -td -p 80:5000 -e POSTGRES_URL=172.12.20.1 mycontainer/flask:latest
W swojej konfiguracji wpiszos.getenv('POSTGRES_URL', 'localhost')
. Pozwala to na ustawienie domyślnego hosta lokalnego, jeśli kontener jest połączony, w przeciwnym razie możesz wskazać inny kontener uruchomiony na innej maszynie. Jest to lepsze, ponieważ zapewnia większą elastyczność we wdrożeniu.
Chcę wykonać kopię zapasową mojej bazy danych lub załadować do niej dane? Czy mogę się z nim po prostu połączyć?
- Tak, tak jak wszystko inne, co możesz połączyć z Postgresem na
IP:PORT
używając poświadczeń określonych w czasie wykonywania kontenera.