Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 5217|Svar: 3

Docker använder Macvlan för att sätta en oberoende IP-adress för containrar

[Kopiera länk]
Publicerad på 2022-11-19 12:01:56 | | | |
Krav: Jag vill tilldela en oberoende LAN-IP-adress till Docker-containern via routerns DHCP-tjänst, så att den utvecklade ASP.NET Core-applikationen kan distribueras till flera servrar (applikationen måste distribueras till flera servrar för att uppnå hög tillgänglighet), och sedan kan de överföras till varandra.
Vissa applikationer, särskilt äldre applikationer eller de som övervakar nätverkstrafik, förväntar sig att ansluta direkt till det fysiska nätverket. I det här fallet kan du använda Macvlan-nätverksdrivrutinen för att tilldela en MAC-adress till varje containers virtuella nätverksgränssnitt, så att det ser ut som ett fysiskt nätverksgränssnitt som kopplas direkt till det fysiska nätverket. I det här fallet behöver du specificera ett fysiskt gränssnitt på din Docker-värd för macvlan. Och. subnät och gateways till Macvlan. Du kan till och med isolera ditt nätverk med ett annat fysiskt nätverksgränssnitt.


Kan nätverkskortet också virtualiseras? Detaljerad förklaring av nätverkskortsvirtualiseringsteknologin Macvlan
https://www.itsvse.com/thread-10388-1-1.html
Först måste du ställa in värddatorns fysiska nätverkskortTillåter "promiskuöst läge" lägeTill exempel, med ESXI som exempel, sätt upp en virtuell switch enligt följande:



Systemmiljön är som följer:

CentOS Linux-utgåva 7.9.2009 (Kärna)
Docker version 20.10.20, bygg 9fdeb9c


Installera Docker-tjänsten på CentOS 7-värden. (utelämnat)



Förberedanet.ipv4.ip_forward = 1, du kan se den aktuella konfigurationen via sysctl -a, om det inte är 1, vänligen ändra den till 1, handledningen är utelämnad. Huvudsyftet är att avgöra om informationen som tas emot av ett nätverkskort kan skickas till andra nätverkskort när Linux-värden har flera nätverkskort, och om den är inställd på 1 kan paketvidarebefordran utföras.

När Docker-tjänsten är installerad, skapa ett macvlan-nätverk med följande kommando:

--ip-range: Beslutade att tilldela delmängden till Docker 192.168.50.192/27, vilket är ett intervall med 32 adresser som börjar vid 192.168.50.192 och slutar vid 192.168.50.223.
--gateway: Ställ in gateway-adressen, vanligtvis routerns IP-adress, vänligen ställ in den efter din faktiska situation
-o förälder: Föräldergränssnittet, som är namnet på värdens fysiska nätverkskort, kan ses via IP A beroende på den faktiska situationen.


När skapandet är klart kan du se det med följande kommando:



Försök starta en busybox-container och skapa ett nätverk med den nyskapade macvlan med följande kommando:

Tips: Om det behövs, ge behållarenFör att ställa in IP-adressen, använd parametern --ip, till exempel: --ip=192.168.50.210

Du kan se IP-adressen till en container med följande kommando:



Självklart kan du också gå in i containern för att se den, med följande kommando:



ViAnvänd andra maskiner på LAN:et, försök pinga containerns IP-adress, kan du se att du kan pinga, som visas i figuren nedan:



Om du tittar på routerns IP- och MAC-mappningstabell kan du se att MAC/IP-adressen för docker-containern är densamma som på routern, som visas i figuren nedan:



Försök starta en Redis-container igen och sätt upp det nya MacVLAN-nätverket med följande kommando:

CentOS-värden har också en redis-applikation igång och använder port 6379, och vi skapar en redis-containerapplikation som också använder port 6379, det vill sägaSamma värdport 6379 lyssnas på av två olika IP-adresser, försök se om det fungerar.

Testresultaten fungerar alla normalt, som visas i figuren nedan:





Resurser

Inloggningen med hyperlänken är synlig.




Föregående:Kan nätverkskortet också virtualiseras? Detaljerad förklaring av nätverkskortsvirtualiseringsteknologin Macvlan
Nästa:[Praxis] Använd FRP-intranätpenetration för att uppnå fjärranslutning till skrivbordsstationära datorer
Publicerad på 2022-11-28 19:30:39 |
Lär dig att lära dig...
Publicerad på 2023-03-12 09:18:32 |
Lär dig att lära dig
Publicerad på 2023-04-22 15:45:19 |
Tack för att du delar med dig.
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com