VorwortIn den vorherigen Ausgaben haben wir vorgestellt, dass die Verbindung zwischen Containern mithilfe des Parameters –Link eingestellt werden kann, sodass im Container nicht nur auf die IP-Adresse, sondern auch auf den entsprechenden Domänennamen zugegriffen werden kann. Zuerst überprüfen. Leeren Sie vor der Handhabung alle Behälter. -Link# Alle Container löschen $root@VM-8-11-ubuntu:~# docker stop $(docker ps -aq) && docker rm $(docker ps -aq) 88f8f241ca30 765ed1889bfa $root@VM-8-11-ubuntu:~# docker run -it --name=mybusy02 -d busybox 82aff31e56f3913b3fa883a08ec95960eff88fc9977360a67264c0d53180844b $root@VM-8-11-ubuntu:~# docker run -it --name mybusy --link mybusy02:mybusy-net -d busybox b77e9762314f868518f799d3c572dec0b2ce13a684de072fb9f9e925135f6459 $root@VM-8-11-ubuntu:~# docker exec -it mybusy ping mybusy-net PING mybusy-net (172.17.0.2): 56 Datenbytes 64 Bytes von 172.17.0.2: seq=0 ttl=64 Zeit=0,131 ms 64 Bytes von 172.17.0.2: seq=1 ttl=64 Zeit=0,069 ms 64 Bytes von 172.17.0.2: seq=2 ttl=64 Zeit=0,069 ms $root@VM-8-11-ubuntu:~# docker exec -it mybusy cat /etc/hosts 127.0.0.1 lokaler Host ::1 lokaler Host ip6-lokaler Host ip6-Loopback fe00::0 ip6-lokales Netz ff00::0 ip6-mcastprefix ff02::1 ip6-alle Knoten ff02::2 ip6-allerouter 172.17.0.2 mybusy-net 09a4b97fc09d mybusy02 # Wir haben festgestellt, dass mybusy02 zur Hosts-Datei hinzugefügt wurde 172.17.0.3 c73be07d21fb Wir haben festgestellt, dass sie verbunden sind, aber wenn mybusy02 mybusy anpingen möchte, benötigt es einen –link . Dies ist also sehr problematisch und der Beamte empfiehlt außerdem, den Parameter --link nicht zu verwenden. Docker 0 unterstützt keinen Zugriff auf Containernamen. Als nächstes kommen wir zum heutigen Highlight, dem benutzerdefinierten Networking. Benutzerdefiniertes Netzwerk# Hauptsächlich beteiligte Befehle $root@VM-8-11-ubuntu:~# docker network --help Verwendung: Docker-Netzwerk-Befehl Netzwerke verwalten Befehle: Verbinden Einen Container mit einem Netzwerk verbinden erstellen Erstellen Sie ein Netzwerk trennen Einen Container von einem Netzwerk trennen inspect Detaillierte Informationen zu einem oder mehreren Netzwerken anzeigen ls Netzwerke auflisten prune Alle ungenutzten Netzwerke entfernen rm Entfernen Sie ein oder mehrere Netzwerke Führen Sie „docker network COMMAND --help“ aus, um weitere Informationen zu einem Befehl zu erhalten. # Dies ist der Standardnetzwerkmodus. Brudge ist die Bridge von Docker 0 $root@VM-8-11-ubuntu:~# Docker-Netzwerk ls NETZWERK-ID-NAME TREIBER-UMFANG cf05ea05d3bd Brücke Brücke lokal 0ab28e475dc6 Host Host lokal e4c628cc77db keine null lokal Lassen Sie uns „Create“ verwenden, um unser eigenes Brückennetzwerk zu erstellen. Base # --driver Netzwerktyp festlegen --subnet Subnetz festlegen/16 = 255*255 IP minus 0,0 und 255,255 entspricht ungefähr 65535 $root@VM-8-11-ubuntu:~# Docker-Netzwerk erstellen --Treiber=Bridge --Subnet=192.168.0.0/16 my-net 1b668a5439b207d2080d95bffe829139cfa2456d691c8019a245e7f9d5a56970 root@VM-8-11-ubuntu:~# Docker-Netzwerk ls NETZWERK-ID-NAME TREIBER-UMFANG cf05ea05d3bd Brücke Brücke lokal 0ab28e475dc6 Host Host lokal 1b668a5439b2 My-Net-Brücke lokal e4c628cc77db keine null lokal # Netzwerkinformationen prüfen $root@VM-8-11-ubuntu:~# docker network inspect my-net [ { "Name": "mein-netz", "ID": "1b668a5439b207d2080d95bffe829139cfa2456d691c8019a245e7f9d5a56970", "Erstellt": "2021-12-01T09:47:21.410882291+08:00", "Geltungsbereich": "lokal", "Treiber": "Brücke", "EnableIPv6": false, "IPAM": { "Treiber": "Standard", "Optionen": {}, "Konfiguration": [ { "Subnetz": "192.168.0.0/16" } ] }, "Intern": false, "Anfügbar": false, "Ingress": falsch, "Konfiguration von": { "Netzwerk": "" }, "ConfigOnly": falsch, "Container": {}, "Optionen": {}, "Beschriftungen": {} } ] Oben haben wir erklärt, wie man ein Netzwerk erstellt und anzeigt. Als Nächstes schauen wir uns an, wie man es verwendet. # Mybusy-Container erstellen und My-Net-Netzwerk einrichten $root@VM-8-11-ubuntu:~# docker run -it --name mybusy --net=my-net -d busybox 180fbc8b04627762a896d8a85d8cb67063c01a0f3ad8a11352ab4695b022c272 # Erstellen Sie den Container mybusy02 und legen Sie das Netzwerk my-net fest $root@VM-8-11-ubuntu:~# docker run -it --name mybusy02 --net=my-net -d busybox 3c08d592537a9593c960c9664b4724521658f26be7b658a6483e6fbfe30b58a7 # Im Container mybusy ping mybusy02 ist erfolgreich$root@VM-8-11-ubuntu:~# docker exec -it mybusy ping mybusy02 PING mybusy02 (192.168.0.3): 56 Datenbytes 64 Bytes von 192.168.0.3: seq=0 ttl=64 Zeit=0,110 ms 64 Bytes von 192.168.0.3: seq=1 ttl=64 Zeit=0,070 ms An diesem Punkt stellten wir fest, dass sie sich gegenseitig anpingen konnten, was perfekt war. Schauen wir uns die folgende my-net Netzwerkkonfiguration an root@VM-8-11-ubuntu:~# Docker-Netzwerk überprüfen, mein Netz [ { "Name": "mein-netz", "ID": "1b668a5439b207d2080d95bffe829139cfa2456d691c8019a245e7f9d5a56970", "Erstellt": "2021-12-01T09:47:21.410882291+08:00", "Geltungsbereich": "lokal", "Treiber": "Brücke", "EnableIPv6": false, "IPAM": { "Treiber": "Standard", "Optionen": {}, "Konfiguration": [ { "Subnetz": "192.168.0.0/16" } ] }, "Intern": false, "Anfügbar": false, "Ingress": falsch, "Konfiguration von": { "Netzwerk": "" }, "ConfigOnly": falsch, "Container": { # Zu diesem Zeitpunkt haben wir festgestellt, dass diese beiden Container zu diesem Netzwerk hinzugefügt wurden "180fbc8b04627762a896d8a85d8cb67063c01a0f3ad8a11352ab4695b022c272": { "Name": "mybusy", "EndpointID": "12929182af47e619e3405cab9981ea1671a2bc31f77d3aa589ebcf2c912c12bc", "MacAdresse": "02:42:c0:a8:00:02", "IPv4Adresse": "192.168.0.2/16", "IPv6Adresse": "" }, "3c08d592537a9593c960c9664b4724521658f26be7b658a6483e6fbfe30b58a7": { "Name": "mybusy02", "EndpointID": "61b08372535d751cee726fc01d4e300390e2a090dba20f1d21ba96385a7a621e", "MacAdresse": "02:42:c0:a8:00:03", "IPv4Adresse": "192.168.0.3/16", "IPv6Adresse": "" } }, "Optionen": {}, "Beschriftungen": {} } ] Eine Frage stellenKönnen Container mit unterschiedlichen Netzwerkkonfigurationen miteinander verbunden werden? Die Antwort ist ja. Wir können den Befehl „Docker Network Connect“ verwenden. Hier sind die Schritte: # Überprüfen Sie zuerst die beiden Container mybusy und mybusy02, die derzeit im selben Netzwerk vorhanden sind $root@VM-8-11-ubuntu:~# docker ps -a CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN 3c08d592537a busybox "sh" vor 8 Minuten Up 8 Minuten mybusy02 180fbc8b0462 busybox "sh" vor 8 Minuten Up 8 Minuten mybusy # Erstellen Sie ein mybusy03 im Standardnetzwerk $root@VM-8-11-ubuntu:~# docker run -it --name mybusy03 -d busybox a95b57c96f400ed44efffcc938bccce15830fa1ab5b55716261e4588c14429cb # Den aktuellen Container anzeigen $root@VM-8-11-ubuntu:~# docker ps CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN a95b57c96f40 busybox "sh" vor 21 Sekunden Up 21 Sekunden mybusy03 3c08d592537a busybox "sh" vor 8 Minuten Up 8 Minuten mybusy02 180fbc8b0462 busybox "sh" vor 9 Minuten Up 9 Minuten mybusy # Versuchen Sie, mybusy03 von mybusy aus anzupingen und stellen Sie fest, dass der Ping nicht funktioniert, weil sie sich nicht im selben Netzwerk befinden. $root@VM-8-11-ubuntu:~# docker exec -it mybusy ping mybusy03 Ping: ungültige Adresse „mybusy03“ # Jetzt überprüfen wir den Befehl docker network connect --help, um $root@VM-8-11-ubuntu:~# docker network connect --help anzuzeigen. Verwendung: Docker-Netzwerkverbindung [OPTIONEN] NETZWERKCONTAINER Verbinden eines Containers mit einem Netzwerk Optionen: --alias strings Netzwerkweit gültigen Alias für den Container hinzufügen --driver-opt strings Treiberoptionen für das Netzwerk --ip Zeichenfolge IPv4-Adresse (z. B. 172.30.100.104) --ip6 Zeichenfolge IPv6-Adresse (z. B. 2001:db8::33) --link list Link zu einem anderen Container hinzufügen --link-local-ip strings Fügt eine Link-Local-Adresse für den Container hinzu # Fügen Sie mybusy03 zum my-net-Netzwerk hinzu $root@VM-8-11-ubuntu:~# docker network connect my-net mybusy03 # Dann pingen wir erneut und stellen fest, dass es funktioniert. Ist das nicht unglaublich? $root@VM-8-11-ubuntu:~# docker exec -it mybusy ping mybusy03 PING mybusy03 (192.168.0.4): 56 Datenbytes 64 Bytes von 192.168.0.4: seq=0 ttl=64 Zeit=0,197 ms 64 Bytes von 192.168.0.4: seq=1 ttl=64 Zeit=0,087 ms Zu diesem Zeitpunkt haben wir das Netzwerk überprüft und festgestellt, dass mybusy03 zu my-net hinzugefügt wurde. Es kann also erfolgreich angepingt werden. Dies ist das Ende dieses Artikels über die benutzerdefinierte Docker-Netzwerkcontainerverbindung. Weitere verwandte Inhalte zur Docker-Containerverbindung finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: HTML-Grundlagen - Einfaches Beispiel zum Festlegen des Hyperlink-Stils
>>: Hinweise zu Fallstricken bei Vuex und Pinia in Vue3
Fehlermeldung: FEHLER 2002: Verbindung zum lokale...
1. Radiogruppierung Solange der Name gleich ist, h...
Dieses Mal haben wir einen RTMP-Liveübertragungss...
Wirkung: Erstellen Sie zunächst fünf Vue-Schnitts...
Hier ist zu Ihrer Information eine Vue-Single-Sig...
1. Ziehen Sie das Redis-Image docker pull redis 2...
Was ist Lastenausgleich? Der Lastausgleich wird h...
Hallo zusammen, ich bin Liang Xu. Bei der Verwend...
Inhaltsverzeichnis Berechnete Daten initialisiere...
1. Laden Sie die erforderliche Kernel-Version her...
„HTML-Validierung“ bezieht sich auf die HTML-Valid...
Funktion: Datenanzeige, Tabellenanwendungsszenari...
Komponentengrundlagen 1 Wiederverwendung von Komp...
Inhaltsverzeichnis 1. Startverwaltung des Quellpa...
So schreiben Sie ein Vue-foreach-Array und durchl...