E Proxy um Host aus engem Docker-Bridge-Container erreechen
Wielt eng Proxyadress, déi de Container erreeche kann, an ënnerscheet en ëffentlechen Endpunkt vun engem Proxy um Docker-Host.
Bei engem normale Container an engem Bridge-Netz ass 127.0.0.1 dem Container seng eege Loopback-Adress. E Proxy, deen um localhost vun Ärem Laptop lauschtert, lauschtert net automatesch an all Container.
Dat erkläert en heefegen Ënnerscheed: déi selwecht Proxy-URL funktionéiert am Terminal vum Host, mä am Container gëtt d’Verbindung refuséiert. D’Adress bezitt sech op all Plaz op en anere Netzwierkendpunkt.
En ëffentleche Proxy kann direkt benotzt ginn
Wann den Endpunkt aus engem Service oder der HTTP-Proxylëscht wierklech eng erreechbar ëffentlech IP ass, gitt dës Adress un d’Applikatioun weider, amplaz se a localhost ëmzewandelen:
docker run --rm \
-e HTTP_PROXY=http://203.0.113.10:8080 \
-e HTTPS_PROXY=http://203.0.113.10:8080 \
your-image
Ersetzt d’Beispilladress aus der Dokumentatioun an d’Image. De Programm an der Image muss dës Ëmweltvariabelen nach ëmmer ënnerstëtzen; Docker mécht net all Socket zu enger Ufro iwwer e Proxy, just well d’Variabelen existéieren.
Wann de Proxy um Docker-Host leeft
Docker Desktop stellt host.docker.internal bereet, fir dem Host seng intern Adress z’erreechen. Bei enger ënnerstëtzter nativer Engine-Konfiguratioun kann eng Host-Zouuerdnung dësen üblechen Numm bereetstellen:
docker run --rm \
--add-host host.docker.internal=host-gateway \
-e HTTP_PROXY=http://host.docker.internal:8080 \
-e HTTPS_PROXY=http://host.docker.internal:8080 \
your-image
Dat ännert d’Nummopléisung; et ass kee Befeel fir Port-Forwarding. Ënner nativem Linux kann e Service, deen nëmmen un d’Loopback-Adress vum Host gebonnen ass, iwwer dem Host seng Bridge-Adress weider onerreechbar sinn. De Lauschterer, d’Firewall an d’Route vum Container mussen d’Verbindung erlaben. Wann Dir de Lauschterer ännert, limitéiert en op déi Clienten, déi Zougang brauchen, amplaz en oppene Proxy ouni Authentifikatioun ze schafen.
Test vun der selwechter Plaz wéi d’Applikatioun aus
E curl-Resultat um Host test nëmmen d’Route vum Host. Schéckt déi entspriechend Ufro aus dem Containerëmfeld a kontrolléiert, ob se de gewënschten Endpunkt erreecht.
„Host“ heescht och déi Maschinn, op där Docker Engine leeft. Bei enger Remote-Engine ass dat net onbedéngt Äre Laptop. Eng Loopback-IP aus enger lokaler Desktopapplikatioun wäert dofir besonnesch onwarscheinlech onverännert op engem Remote-Builder oder Server funktionéieren.
Halt Problemer beim Erofluede vun der Image getrennt: den Daemon luet d’Image erof, éier d’Applikatioun dat uewe gewisent Ëmfeld benotze kann.