I en almindelig container på et bridgenetværk er 127.0.0.1 containerens egen loopbackadresse. En proxy på localhost på din bærbare lytter ikke automatisk inde i hver container.

Det forklarer en almindelig forskel: Samme proxy-URL virker i værtsterminalen, men giver afvist forbindelse i containeren. Adressen henviser til forskellige netværksendepunkter de to steder.

En offentlig proxy kan bruges direkte

Er endepunktet fra en tjeneste eller HTTP-proxylisten faktisk en offentlig IP, der kan nås, skal du give adressen til programmet frem for at ændre den til localhost:

docker run --rm \
  -e HTTP_PROXY=http://203.0.113.10:8080 \
  -e HTTPS_PROXY=http://203.0.113.10:8080 \
  your-image

Udskift dokumentationsadressen og imaget. Programmet i imaget skal stadig understøtte miljøvariablerne; Docker gør ikke hver socket til en proxyforespørgsel, blot fordi de findes.

Hvis proxien kører på Docker-værten

Docker Desktop tilbyder host.docker.internal for at nå værtens interne adresse. I en understøttet native Engine-opsætning kan en værtsmapping levere dette gængse navn:

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

Det ændrer navneopslag, ikke portvideresendelse. På native Linux kan en tjeneste bundet kun til værtens loopback stadig være utilgængelig via dens bridgeadresse. Lytter, firewall og containerrute skal tillade forbindelsen. Begræns en ændret lytter til de nødvendige klienter frem for at oprette en åben proxy uden autentisering.

Test samme sted som programmet

Et curl-resultat på værten tester kun værtsruten. Udfør forespørgslen fra containermiljøet og kontrollér, at det tilsigtede endepunkt nås.

‘Vært’ betyder også maskinen, som kører Docker Engine. Med en ekstern Engine er det ikke nødvendigvis din bærbare. Det er derfor særligt usandsynligt, at en loopback-IP fra et lokalt skrivebordsprogram virker uændret på en ekstern builder eller server.

Hold problemer med image-pull adskilt: dæmonen downloader imaget, før programmet kan bruge miljøet vist ovenfor.

Relaterede artikler