Я использую 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")