Prasības: Es vēlos piešķirt neatkarīgu LAN IP adresi Docker konteineram, izmantojot maršrutētāja DHCP pakalpojumu, lai izstrādāto ASP.NET Core lietojumprogrammu varētu izvietot vairākos serveros (lietojumprogramma ir jāizvieto vairākos serveros, lai sasniegtu augstu pieejamību), un pēc tam tos var pārsūtīt viens otram. Dažas lietojumprogrammas, īpaši mantotās lietojumprogrammas vai tās, kas uzrauga tīkla trafiku, paredz izveidot tiešu savienojumu ar fizisko tīklu. Šajā gadījumā varat izmantot macvlan tīkla draiveri, lai piešķirtu MAC adresi katra konteinera virtuālā tīkla saskarnei, padarot to kā fizisku tīkla interfeisu, kas tieši savienojas ar fizisko tīklu. Šajā gadījumā jums ir jānorāda fiziskais interfeiss savā Docker resursdatorā macvlan. Un. Macvlan apakštīkli un vārtejas. Jūs pat varat izolēt savu tīklu, izmantojot citu fizisko tīkla interfeisu.
Pirmkārt, jums ir jāiestata resursdatora fiziskais NICAtļauj režīmu "promiscuous mode"Piemēram, izmantojot ESXI kā piemēru, iestatiet virtuālo slēdzi šādi:
Sistēmas vide ir šāda:
CentOS Linux laidiens 7.9.2009 (kodols) Docker versija 20.10.20, būvējums 9fdeb9c
Instalējiet Docker pakalpojumu CentOS 7 resursdatorā. (izlaists)
Iestatītnet.ipv4.ip_forward = 1, jūs varat apskatīt pašreizējo konfigurāciju, izmantojot sysctl -a, ja tas nav 1, lūdzu, nomainiet to uz 1, apmācība ir izlaista. Galvenais mērķis ir noteikt, vai vienas tīkla kartes saņemto informāciju var nodot citām tīkla kartēm, ja Linux resursdatoram ir vairākas tīkla kartes, un, ja tas ir iestatīts uz 1, var veikt pakešu pārsūtīšanu.
Kad Docker pakalpojums ir instalēts, izveidojiet macvlan tīklu ar šādu komandu:
--ip-range: nolēma piešķirt apakškopu Docker 192.168.50.192/27, kas ir 32 adrešu diapazons, sākot ar 192.168.50.192 un beidzot ar 192.168.50.223. --vārteja: Iestatiet vārtejas adresi, parasti maršrutētāja IP adresi, lūdzu, iestatiet to atbilstoši jūsu faktiskajai situācijai -o vecāks: vecāku interfeisu, kas ir resursdatora fiziskās NIC kartes nosaukums, var apskatīt caur IP A atbilstoši faktiskajai situācijai.
Pēc izveides pabeigšanas to var apskatīt ar šādu komandu:
Mēģiniet sākt busybox konteineru un iestatīt tīklu ar jaunizveidoto macvlan ar šādu komandu:
Padoms: Ja nepieciešams, dodiet konteineruLai iestatītu IP adresi, izmantojiet parametru --ip, piemēram: --ip=192.168.50.210
Konteinera IP adresi var skatīt, izmantojot tālāk norādīto komandu.
Protams, varat arī doties konteinera iekšpusē, lai to apskatītu, izmantojot šādu komandu:
MēsIzmantojot citas LAN iekārtas, mēģiniet pingēt konteinera IP adresi, jūs varat atrast, ka varat ping, kā parādīts zemāk redzamajā attēlā:
Aplūkojot maršrutētāja IP un MAC kartēšanas tabulu, jūs varat redzēt, ka docker konteinera MAC / IP adrese ir tāda pati kā maršrutētājā, kā parādīts zemāk redzamajā attēlā:
Mēģiniet vēlreiz startēt Redis konteineru un iestatīt jauno MacVLAN tīklu ar šādu komandu:
Pašam CentOS resursdatoram ir arī redis lietojumprogramma, kas darbojas un izmanto arī portu 6379, un mēs izveidojam redis konteinera lietojumprogrammu, kas izmanto arī portu 6379, tas ir.Vienu un to pašu resursdatora portu 6379 klausās divi dažādi IP, mēģiniet noskaidrot, vai tas darbojas.
Visi testa rezultāti darbojas normāli, kā parādīts zemāk redzamajā attēlā:
Resursu
Hipersaites pieteikšanās ir redzama.
|