DNS служби Docker і обхід проксі за допомогою no_proxy
Використовуйте no_proxy для потрібної внутрішньої служби, коли зовнішній HTTP-проксі не може розв'язати або досягти цієї мережі.
Зовнішньому 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, який може вставляти значення середовища. Змініть потрібний запис і повторно створіть уражені контейнери звичайним шляхом, зберігаючи не пов'язану конфігурацію.