Зовнішньому HTTP-проксі не потрібно знати ім'я служби api у Docker. Для http://api:8080/ проксі відкриває наступне з'єднання, тому успішне розв'язання імені всередині контейнера застосунку не доводить DNS-подання проксі.

Для потрібного прямого доступу додайте виняток у середовище цього контейнера:

environment:
  http_proxy: http://proxy.example:8080
  https_proxy: http://proxy.example:8080
  no_proxy: api

Прямі запити до api використовують маршрут контейнера та вбудований резолвер. Обидвом контейнерам усе ще потрібна спільна мережа, визначена користувачем, а служба має слухати порт 8080. Придатні зовнішні запити зберігають проксі. Якщо ці публічні призначення можуть використовувати публічного посередника, список HTTP-проксі пропонує кандидатів для URL проксі без облікового запису; залиште api серед прямих винятків.

Якщо повторно створені контейнери зберігають неочікувані змінні, перегляньте розділ config.json proxies клієнта Docker, який може вставляти значення середовища. Змініть потрібний запис і повторно створіть уражені контейнери звичайним шляхом, зберігаючи не пов'язану конфігурацію.

Схожі статті