Predvolená sieť dockerového kontajnera má formu mosta (v tej istej LAN ako hostiteľ, ale s použitím samostatnej LAN IP adresy), keď program beží v produkčnom prostredí, stačí len nakonfigurovať príslušnú adresu služby na pripojenie k databáze, redis a podobne.
V vývojovom prostredí, ak služba beží v dockeri a databáza lokálne, konfigurácia 127.0.0.1 nie je jednoduchá na používanie.
Toto sa dá vyriešiť dvoma spôsobmi.
Riešenie 1:
Zaobchádzajte s hostiteľským strojom a kontajnerom ako s dvoma samostatnými strojmi a pri konfigurácii adresy nastavte LAN IP hostiteľa alebo verejnú IP.
Riešenie 2:
Napíšte adresu hostiteľa priamo ako: host.docker.internal,Druhá metóda vyžaduje docker verziu väčšiu ako 18.03 a musí byť dostupná pre Windows a Mac。
Ak chcete otestovať, či tieto dve metódy dokážu pristupovať k hostiteľovi, môžete priamo spustiť obraz pomocou dockeru na pingnutie príkazového riadku:
Ako vidíte na obrázku vyššie, prístup ku kontajneromhost.docker.internalMôžete pristupovať k službe hostiteľa, ak si skontrolujete súbor /etc/hosts, zistíte, že neexistuje presmerovanie doménových mien a nepoznáte konkrétny princíp dockeru.
Hostiteľ aj kontajner môžu pristupovať k službám hostiteľa cez host.docker.internal, ale adresa vrátená príkazom ping je odlišná, nasledovne:
|