Hosti puhverserveri kasutamine Docker bridge-konteinerist
Valige konteinerist kättesaadav puhverserveri aadress ja eristage avalikku lõpp-punkti Dockeri hostis töötavast puhverserverist.
Tavalises bridge-võrguga konteineris on 127.0.0.1 konteineri enda tagasisideaadress. Sülearvuti localhost-aadressil kuulav puhverserver ei kuula automaatselt iga konteineri sees.
See selgitab tavalist erinevust: sama puhverserveri URL töötab hosti terminalis, kuid konteineris keeldutakse ühendusest. Aadress viitab kummaski kohas erinevale võrgu lõpp-punktile.
Avalikku puhverserverit saab kasutada otse
Kui teenusest või HTTP-puhverserverite loendist valitud lõpp-punkt on tõesti kättesaadav avalik IP-aadress, andke see aadress rakendusele, selle asemel et muuta see localhost-iks:
docker run --rm \
-e HTTP_PROXY=http://203.0.113.10:8080 \
-e HTTPS_PROXY=http://203.0.113.10:8080 \
your-image
Asendage dokumentatsiooni näidisaadress ja tõmmis. Tõmmises olev programm peab neid keskkonnamuutujaid endiselt toetama; Docker ei muuda iga soklit puhverserveri kaudu saadetavaks päringuks pelgalt muutujate olemasolu tõttu.
Kui puhverserver töötab Dockeri hostis
Docker Desktop pakub hosti siseaadressile jõudmiseks nime host.docker.internal. Toetatud natiivse Engine’i seadistuse korral saab selle tavapärase nime anda hostivastendusega:
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
See muudab nimelahendust; see pole pordiedastuse käsk. Natiivses Linuxis võib ainult hosti tagasisideaadressiga seotud teenus olla hosti bridge-aadressi kaudu endiselt kättesaamatu. Kuulaja, tulemüür ja konteineri marsruut peavad ühendust lubama. Kui muudate kuulajat, piirake see juurdepääsu vajavate klientidega, selle asemel et luua autentimiseta avatud puhverserver.
Testige rakendusega samast kohast
Hostis saadud curl-tulemus testib ainult hosti marsruuti. Tehke vastav päring konteineri keskkonnast ja kontrollige, kas see jõuab soovitud lõpp-punktini.
„Host” tähendab ka Docker Engine’it käitavat masinat. Kaug-Engine’i korral ei pruugi see olla teie sülearvuti. Kohalikust töölauarakendusest kopeeritud tagasiside-IP toimimine muutmata kujul kaugkoostajas või serveris on seetõttu eriti ebatõenäoline.
Hoidke tõmmise allalaadimise probleemid eraldi: deemon laadib tõmmise alla enne, kui rakendus saab kasutada eespool näidatud keskkonda.