Požiadavky: Chcem priradiť nezávislú LAN IP adresu Docker kontajneru cez DHCP službu routera, aby sa vyvinutá ASP.NET Core aplikácia mohla nasadiť na viacerých serveroch (aplikácia musí byť nasadená na viacerých serveroch, aby sa dosiahla vysoká dostupnosť), a potom sa mohli navzájom prenášať. Niektoré aplikácie, najmä staršie aplikácie alebo tie, ktoré monitorujú sieťovú prevádzku, očakávajú priame pripojenie k fyzickej sieti. V takom prípade môžete použiť sieťový ovládač macvlan na priradenie MAC adresy ku virtuálnemu sieťovému rozhraniu každého kontajnera, čím to vyzerá ako fyzické sieťové rozhranie priamo pripojené k fyzickej sieti. V takom prípade musíte na svojom Docker hosti špecifikovať fyzické rozhranie pre macvlan. A. podsiete a brány Macvlanu. Môžete dokonca izolovať svoju sieť pomocou iného fyzického sieťového rozhrania.
Najprv musíte nastaviť fyzickú kartu hostiteľského počítačaUmožňuje režim "promiskuitného režimu"Napríklad, používajúc ESXI ako príklad, nastavte virtuálny prepínač nasledovne:
Prostredie systému je nasledovné:
CentOS Linux release 7.9.2009 (Core) Docker verzia 20.10.20, build 9fdeb9c
Nainštalujte službu Docker na CentOS 7 hostiteľ. (vynechané)
Pripraviťnet.ipv4.ip_forward = 1, aktuálnu konfiguráciu si môžete pozrieť cez sysctl -a, ak to nie je 1, prosím, upravte to na 1, tutoriál je vynechaný. Hlavným účelom je zistiť, či je možné informácie prijaté jednou sieťovou kartou odovzdať iným sieťovým kartám, ak má hostiteľ Linuxu viacero sieťových kariet, a ak je nastavená na 1, je možné vykonať preposielanie paketov.
Keď je služba Docker nainštalovaná, vytvorte macvlan sieť s nasledujúcim príkazom:
--ip-rozsah: Rozhodol som sa priradiť podmnožinu Dockeru 192.168.50.192/27, čo je rozsah 32 adries začínajúcich na 192.168.50.192 a končiacich na 192.168.50.223. --gateway: Nastavte adresu brány, zvyčajne IP adresu routera, prosím, nastavte ju podľa vašej aktuálnej situácie -o rodič: Rodičovské rozhranie, čo je názov fyzickej karty hostiteľa, je možné zobraziť cez IP A podľa aktuálnej situácie.
Po dokončení vytvorenia ho môžete zobraziť nasledujúcim príkazom:
Skúste spustiť busybox kontajner a nastaviť sieť s novo vytvoreným macvlan pomocou nasledujúceho príkazu:
Tip: Ak je to potrebné, dajte nádobuNa nastavenie IP adresy použite parameter --ip, napríklad: --ip=192.168.50.210
IP adresu kontajnera si môžete pozrieť pomocou nasledujúceho príkazu:
Samozrejme, môžete sa tiež dostať dovnútra kontajnera, aby ste si ho pozreli, pomocou nasledujúceho príkazu:
MyPri použití iných počítačov v LAN skúste pingnúť IP adresu kontajnera, môžete zistiť, že môžete pingovať, ako je znázornené na obrázku nižšie:
Keď sa pozriete na tabuľku IP a MAC mapovania routera, vidíte, že MAC/IP adresa docker kontajnera je rovnaká ako tá na routeri, ako je znázornené na obrázku nižšie:
Skúste znova spustiť kontajner Redis a nastaviť novú MacVLAN sieť pomocou nasledujúceho príkazu:
Hostiteľ CentOS má tiež spustenú aplikáciu Redis a tiež používa port 6379, a vytvárame kontajnerovú aplikáciu Redis, ktorá tiež používa port 6379, tedaTen istý hostiteľský port 6379 počúvajú dve rôzne IP adresy, skús zistiť, či to funguje.
Výsledky testov fungujú normálne, ako je znázornené na obrázku nižšie:
Zdroje
Prihlásenie na hypertextový odkaz je viditeľné.
|