Docker-kontin oletusverkko on sillan muodossa (samassa LAN-verkossa kuin isäntä, mutta erillistä LAN-IP-osoitetta), kun ohjelma pyörii tuotantoympäristössä, sinun tarvitsee vain määrittää vastaava palveluosoite yhdistääksesi tietokantaan, REDiin jne.
Kehitysympäristössä, jos palvelu toimii dockerissa ja tietokanta paikallisesti, 127.0.0.1:n konfigurointi ei ole helppoa käyttää.
Tämä voidaan ratkaista kahdella tavalla.
Ratkaisu 1:
Käsittele isäntäkonetta ja konttia kahtena erillisenä koneena ja määritä isäntäpalvelimen LAN-IP tai julkinen IP-osoite konfiguroinnin yhteydessä.
Ratkaisu 2:
Kirjoita isäntäosoite suoraan muodossa: host.docker.internalToinen menetelmä vaatii docker-version yli 18.03 ja sen on oltava saatavilla Windowsille ja Macille。
Testataksesi, pääsevätkö nämä kaksi menetelmää käsiksi isäntään, voit ajaa suoraan kuvan dockerilla komentorivin pingaamiseen:
Kuten yllä olevasta kuvasta näkyy, konttikäyttöhost.docker.internalVoit käyttää isäntäpalvelun palvelua, tarkistamalla /etc/hosts-tiedoston, huomaat, ettei verkkotunnuksen uudelleenohjausta ole, etkä tiedä dockerin tarkkaa taustaperiaatetta.
Sekä isäntä että kontti pääsevät käsiksi isäntäpalveluihin host.docker.internal kautta, mutta ping-komennon palauttama osoite on erilainen, seuraavasti:
|