Совместное использование IP между контейнерами с помощью docker-compose - PullRequest
0 голосов
/ 07 февраля 2019

Я использую docker-compose для связи контейнеров.Структура выглядит следующим образом:

version: '3.3'
services:
  db_service:
    ...
  api_service:
    ...
  ...

Я знаю, что Nginx может получить доступ к IP других контейнеров, используя следующий код:

location /api/ {
    proxy_pass      http://api_service:5000;
}

Я хотел бы расширить этот вопрос где конкретный пример был бы оценен.

В моей ситуации я хотел бы подключиться к базе данных, расположенной в другом контейнере.IP-адрес базы данных задается следующим образом: $ docker inspect my_db | grep "IPAddress", и он не является постоянным для разных сред выполнения.Код ниже работает в настоящее время, но я ищу что-то более надежное, которое сопротивляется простой перезагрузке и идеально подходит для повторного использования на каждом этапе цикла (разработка, тестирование, развертывание).

conn = psycopg2.connect("dbname=postgres user=postgres password=postgres host=172.25.0.2")

1 Ответ

0 голосов
/ 07 февраля 2019

Вы можете получить доступ к сервису, как вы сказали.Просто не забудьте добавить раздел ссылок и зависимость.Тогда вам нужно разрешить db_service в файле hosts.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...