Privzeto omrežje docker vsebnika je v obliki mostu (v istem LAN kot gostitelj, vendar z ločenim LAN IP-jem); ko program teče v produkcijskem okolju, morate le konfigurirati ustrezni naslov storitve, da se povežete z bazo podatkov, redis itd.
V razvojnem okolju, če storitev teče v dockerju in baza podatkov lokalno, konfiguracija 127.0.0.1 ni enostavna za uporabo.
To je mogoče rešiti na dva načina.
Rešitev 1:
Gostiteljski računalnik in kontejner obravnavajte kot dva ločena računalnika ter ob konfiguraciji naslova nastavite LAN IP ali javni IP gostitelja.
Rešitev 2:
Naslov gostitelja zapišite neposredno kot: host.docker.internal.Druga metoda zahteva docker različico večjo od 18.03 in mora biti na voljo na Windows in Mac。
Za testiranje, ali ti dve metodi omogočata dostop do gostitelja, lahko neposredno zaženete sliko z dockerjem, da pingate ukazno vrstico:
Kot lahko vidite na zgornji sliki, dostop do kontejnerjevhost.docker.internalDostopate do storitve gostitelja, če preverite datoteko /etc/hosts, ugotovite, da ni preusmeritve domene in ne poznate specifičnega osnovnega principa dockerja.
Tako gostitelj kot vsebnik lahko dostopata do storitev gostitelja preko host.docker.internal, vendar je naslov, ki ga vrne ukaz ping, drugačen, kot sledi:
|