Docker-Dienst-DNS und Proxy-Umgehung mit no_proxy
Verwenden Sie no_proxy für einen vorgesehenen internen Dienst, wenn der externe HTTP-Proxy dieses Netzwerk nicht auflösen oder erreichen kann.
Ein externer HTTP-Proxy muss den Dienstnamen api von Docker nicht kennen. Bei http://api:8080/ öffnet der Proxy die Weiterverbindung, sodass eine erfolgreiche Auflösung im App-Container nicht die DNS-Sicht des Proxys belegt.
Für den vorgesehenen direkten Zugriff fügen Sie die Ausnahme in die Umgebung dieses Containers ein:
environment:
http_proxy: http://proxy.example:8080
https_proxy: http://proxy.example:8080
no_proxy: apiDirekte Anfragen an api nutzen die Route des Containers und den eingebetteten Resolver. Beide Container benötigen weiterhin das gemeinsam genutzte, benutzerdefinierte Netzwerk, und der Dienst muss auf 8080 lauschen. Zulässige externe Anfragen behalten den Proxy. Falls diese öffentlichen Ziele einen öffentlichen Vermittler nutzen dürfen, liefert die HTTP-Proxy-Liste Kandidaten für die Proxy-URLs ohne Konto; behalten Sie api unter den direkten Ausnahmen.
Wenn neu erstellte Container unerwartete Variablen behalten, prüfen Sie den Abschnitt config.json proxies des Docker-Clients, der Umgebungswerte einfügen kann. Ändern Sie den vorgesehenen Eintrag und erstellen Sie betroffene Container über den normalen Ablauf neu, wobei Sie unabhängige Konfiguration bewahren.