Za običan kontejner u bridge mreži 127.0.0.1 je vlastita loopback adresa kontejnera. Proxy na localhostu prijenosnog računala ne osluškuje automatski u svakom kontejneru.

To objašnjava čestu razliku: isti proxy URL radi u terminalu hosta, ali u kontejneru daje odbijenu vezu. Adresa na svakom mjestu označava drugu mrežnu točku.

Javni proxy može se koristiti izravno

Ako je točka iz usluge ili s popisa HTTP proxyja doista dostupan javni IP, predajte adresu aplikaciji umjesto promjene u localhost:

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

Zamijenite dokumentacijsku adresu i sliku. Program u slici i dalje mora podržavati varijable okruženja; Docker ne pretvara svaki socket u proxy zahtjev samo zato što varijable postoje.

Ako proxy radi na Docker hostu

Docker Desktop pruža host.docker.internal za pristup internoj adresi hosta. U podržanoj izvornoj Engine konfiguraciji mapiranje hosta može dati taj uobičajeni naziv:

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

To mijenja razrješavanje naziva, nije naredba za prosljeđivanje porta. Na izvornom Linuxu usluga vezana samo za loopback hosta može ostati nedostupna kroz njegovu bridge adresu. Osluškivač, vatrozid i ruta kontejnera moraju dopustiti vezu. Ako mijenjate osluškivač, ograničite ga na potrebne klijente umjesto stvaranja otvorenog proxyja bez autentifikacije.

Testirajte s istog mjesta kao aplikacija

curl rezultat na hostu testira samo rutu hosta. Izvršite zahtjev iz okruženja kontejnera i provjerite dolazi li do predviđene točke.

„Host“ znači i računalo na kojem radi Docker Engine. Kod udaljenog Enginea to nije nužno prijenosno računalo. Loopback IP iz lokalne desktop aplikacije zato ima posebno male šanse raditi nepromijenjen na udaljenom builderu ili poslužitelju.

Odvojite probleme preuzimanja slike: daemon preuzima sliku prije nego aplikacija može koristiti prikazano okruženje.

Povezani članci