flyingkangaroo
Goto Top

Docker-Container hinter Proxy

Hallo,

in meiner Firma haben wir einen IT-Dienstleister und einen Zwangsproxy.
Der Proxy gilt nicht nur für die Clients, sondern auch für sämtliche Server (also auch virtuelle Server die beim Dienstleister im RZ stehen, die uns der Dienstleister bestenfalls bis Oberkante Betriebssystem bereitstellt).

Jetzt gedenken wir Docker einzusetzen... leider waren die ersten Experimente nicht besonders befriedigend, da in viele Docker-Container auch der Proxy bekannt gemacht werden muß, da viele Anwendungen eben doch 'ein bisschen' Internet benötigen (seien es z.B. Verbindung zu offiziellen Timestamp-Servern beim Buildprozess). Bei vielen Images ist gar nicht direkt vorgesehen einen Proxy an den passenden Stellen einzupflanzen.... zumal es häufig NICHT damit getan ist, unter Linux die Umgebungsvariablen zu setzen (zumal es schon schade ist, dass man dafür kein PAC-Script einsetzen kann)... den Proxy muß man manchmal an gefühlten 150 Stellen eintragen face-sad

Wie löst ihr das? Oder steht euer Docker-Host irgendwo im Netzwerk wo kein Proxy-Zwang herrscht?

Danke

Gruß
Dieter

Content-Key: 357201

Url: https://administrator.de/contentid/357201

Printed on: April 23, 2024 at 16:04 o'clock

Member: Alchimedes
Alchimedes Dec 06, 2017 updated at 15:40:00 (UTC)
Goto Top
Hallo,

hast Du die dockerdoc's diesbezueglich durchgelesen ?

https://docs.docker.com/engine/admin/systemd/

Du musst den Proxy bekannt geben dann sollte es fuer die container kein Problem sein, derweil ja der Host das Netzwerk stellt.
Sonst muesstest Du ja fuer jeden Container eine eigen Netzwerkconfig haben.

Gruss
Member: flyingKangaroo
flyingKangaroo Dec 06, 2017 at 18:58:37 (UTC)
Goto Top
Das einzige was damit wohl getan wird, ist die Environment-Variable im Container entsprechend zu setzen.
Leider ist es technisch quasi nicht möglich einen HTTP(s)-(Zwangs-)Proxy wieder "unsichtbar" (transparent) für den Container zu machen. Bei HTTP funktioniert das mehr oder weniger, bei HTTPS wird es ohne die Verbindung aufzubrechen quasi unmöglich.

Das einzige was Docker hier wahrscheinlich tut, ist die Umgebungsvariablen HTTP_PROXY und HTTPS_PROXY im Container vorzubelegen.
Es gibt aber zahlreiche andere Stellen in den Containern in denen ein Proxy gesetzt werden kann/muß (z.B. zahlreiche Webanwendungen, APT, Python...)