Как подключить базу данных Postgres, запущенную на локальном компьютере, к контейнеру докера

У меня есть приложение Flask, работающее в контейнере, и база данных Postgres на локальном компьютере, и теперь я хочу подключить базу данных Postgres (прослушивание 5432) к контейнеру докеров.

Может ли кто-нибудь предложить лучший способ сделать это? (Я новичок в контейнерах докеров)

Заранее спасибо.


person abhishek kavali    schedule 29.06.2017    source источник


Ответы (2)


Вы можете использовать IP-адрес своего локального компьютера для подключения к postgres из вашего контейнера Docker. localhost не будет разрешен на некоторых машинах.

Этот пост может вас заинтересовать. Как мне подключиться к локальному хосту машины изнутри контейнера Docker?

person so-random-dude    schedule 29.06.2017

Скорее всего, вы захотите Dockerize свою базу данных Postgres в ее собственном контейнере и использовать постоянный том для локального хранения ваших данных.

Учебное пособие по Dockerize вашей базы данных Postgres: https://docs.docker.com/engine/examples/postgresql_service/

Документация по томам Docker: https://docs.docker.com/engine/tutorials/dockervolumes/

Образ Postgres в Docker Hub: https://hub.docker.com/_/postgres/

person Mitch    schedule 29.06.2017
comment
У меня большая база данных Postgres (›50 ГБ), поэтому я думаю, что не рекомендуется делать то же самое? - person abhishek kavali; 30.06.2017
comment
Размер базы данных не имеет большого значения. Каталог данных postgres должен находиться в томе, который на самом деле является просто каталогом на вашем хосте. - person programmerq; 30.06.2017