Kommunikation zwischen Containern1. Netzwerkfreigabe von ContainernDocker-Container in diesem Modus teilen sich einen Netzwerkstapel, sodass zwei Container über localhost effizient und schnell kommunizieren können. Wird für die Kommunikation zwischen Webservern und Anwendungsservern verwendet. ##Löschen Sie die experimentelle Umgebung[root@server1 ~]# docker ps -a CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN ##Container mit Standardnetzwerk erstellen [root@server1 ~]# docker run -it --name vm1 ubuntu root@b1a2a90f98a5:/# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue Status UNBEKANNT Gruppe Standard qlen 1 Link/Loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 Bereich Host lo valid_lft für immer preferred_lft für immer 368: eth0@if369: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue status UP-Gruppenstandard Link/Ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff:ff inet 172.17.0.2/16 brd 172.17.255.255 Bereich global eth0 valid_lft für immer preferred_lft für immer root@b1a2a90f98a5:/# [root@server1 ~]# ##Container erstellt VM2, die das Netzwerk mit VM1 teilt [root@server1 ~]# docker run -it --name vm2 --network container:vm1 ubuntu root@b1a2a90f98a5:/# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue Status UNBEKANNT Gruppe Standard qlen 1 Link/Loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 Bereich Host lo valid_lft für immer preferred_lft für immer 368: eth0@if369: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue status UP-Gruppenstandard Link/Ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff:ff inet 172.17.0.2/16 brd 172.17.255.255 Bereich global eth0 valid_lft für immer preferred_lft für immer root@b1a2a90f98a5:/# 2.--Link-Methode##Löschen Sie das Image [root@server1 ~]# docker rm -f vm1 vm1 [root@server1 ~]# docker rm -f vm2 vm2 [root@server1 ~]# docker ps -a CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN ##Standardnetzwerk erstellt vm1 [root@server1 ~]# docker run -it --name vm1 ubuntu root@68e56c57a9a0:/# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue Status UNBEKANNT Gruppe Standard qlen 1 Link/Loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 Bereich Host lo valid_lft für immer preferred_lft für immer 370: eth0@if371: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue status UP-Gruppenstandard Link/Ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff:ff inet 172.17.0.2/16 brd 172.17.255.255 Bereich global eth0 valid_lft für immer preferred_lft für immer root@68e56c57a9a0:/# [root@server1 ~]# ##--Link-Methode zum Erstellen des Containers vm2 des vm1-Subnetzes [root@server1 ~]# docker run -it --name vm2 --link vm1:web ubuntu root@61267851b484:/# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue Status UNBEKANNT Gruppe Standard qlen 1 Link/Loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 Bereich Host lo valid_lft für immer preferred_lft für immer 372: eth0@if373: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue status UP-Gruppenstandard Link/Ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff:ff inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0 ##ip ist im selben Netzwerksegment wie vm1, erhöht valid_lft für immer preferred_lft für immer ##Analysieren Sie die Datei mit den IP- und Alias-Informationen von vm1 root@61267851b484:/# 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 Web 68e56c57a9a0 vm1 172.17.0.3 61267851b484 root@61267851b484:/# ^C root@61267851b484:/# --LinkAktualisieren Sie die Hosts-Datei Die Variablen des Linkcontainers werden ebenfalls kopiert root@61267851b484:/#Umgebung HOSTNAME=61267851b484 TERM=xterm Ls_colors = rs = 0: di = 01; 34: ln = 01; 36: mh = 00: pi = 40; 33: SO = 01; 35: do = 01; 35: bd = 40; 33; 01: cd = 40; 33; 01: oder 40; 34; 42: St = 37; 44: Ex = 01; 32:*. Tar = 01; 31:*. Tgz = 01; 31:*. Arj = 01; 31:*. TAZ = 01; 31:*. LZH = 01; 31:* 1; 31:*. Z = 01; 31:*. DZ = 01; 31:*. GZ = 01; 31:*. LZ = 01; 31:*. XZ = 01; 31:*. Bz2 = 01; 31:*. Bz = 01; 31:*. Tbz = 01; 31:* 1; 31:*. Jar = 01; 31:*. Krieg = 01; 31:*. Ear = 01; 31:*. Sar = 01; 31:*. Rar = 01; 31:*. Ace = 01; 31:*. Zoo = 01; 31:*. 35:*. Gif = 01; 35:*. Bmp = 01; 35:*. Pbm = 01; 35:*. Pgm = 01; 35:*. Ppm = 01; 35:*. TGA = 01; 35:*. XBM = 01; 35:*. png = 01; 35:*. svg = 01; 35:* 1; 35:*. Ogm = 01; 35:*. Mp4 = 01; 35:*. M4V = 01; 35:*. Mp4v = 01; 35:*. VOB = 01; 35:*. Qt = 01; 35:*. Nuv = 01; 35:*. .RMVB = 01; 35:*. Flc = 01; 35:*. Avi = 01; 35:*. Fli = 01; 35:*. Flv = 01; 35:*. Gl = 01; 35:*. Dl = 01; 35:*. xcf = 01; 35:*. xwd = 01; 35:*. EMF = 01; 35:*. Axv = 01; 35:*. Anx = 01; 35:*. Ogv = 01; 35:*. Ogx = 01; 35:*. AAC = 00; 36:*. Au = 00; 36:*. Flac = 00; 00; 36:*. Mpc = 00; 36:*. Ogg = 00; 36:*. Ra = 00; 36:*. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ SHLVL=1 HOME=/Wurzel WEB_NAME=/vm2/web LESSOPEN=| /usr/bin/lesspipe %s LESSCLOSE=/usr/bin/lesspipe %s %s _=/usr/bin/env root@61267851b484:/# Wenn der Container gestoppt wird, wird die IP-Adresse freigegeben. Wenn er erneut gestartet wird, werden andere IP-Adressen abgerufen. Der verknüpfte Container aktualisiert die Hosts-Datei automatisch. Kommunikation zwischen dem Container und dem externen NetzwerkSehen Sie sich die aktuelle Firewall-Richtlinie für die iptable-NAT-Tabelle an [root@server1 ~]# iptables -t nat -nL Kette PREROUTING (Richtlinie ACCEPT) Ziel Schutz Opt Quelle Ziel DOCKER alle -- 0.0.0.0/0 0.0.0.0/0 ADDRTYPE entspricht Zieltyp LOCAL Ketteneingabe (Richtlinie AKZEPTIEREN) Ziel Schutz Opt Quelle Ziel Kettenausgabe (Richtlinie AKZEPTIEREN) Ziel Schutz Option Quelle Ziel DOCKER alle -- 0.0.0.0/0 !127.0.0.0/8 ADDRTYPE entspricht Zieltyp LOCAL Kette POSTROUTING (Richtlinie AKZEPTIEREN) Ziel Schutz Option Quelle Ziel MASQUERADE alle -- 172.26.0.0/24 0.0.0.0/0 MASQUERADE alle -- 172.20.0.0/16 0.0.0.0/0 MASQUERADE alle -- 172.18.0.0/16 0.0.0.0/0 MASQUERADE alle -- 172.17.0.0/16 0.0.0.0/0 Chain DOCKER (2 Referenzen) Ziel Schutz Opt Quelle Ziel Alles zurückgeben -- 0.0.0.0/0 0.0.0.0/0 Alles zurückgeben -- 0.0.0.0/0 0.0.0.0/0 Alles zurückgeben -- 0.0.0.0/0 0.0.0.0/0 Alles zurückgeben -- 0.0.0.0/0 0.0.0.0/0 ##Nginx-Container erstellen und Port [root@server1 ~] zuordnen# docker run -d --name nginx -p 80:80 nginx cfefe6420cfe60c46cb7a050c142af7eff86fa6d687c3577077a5b4e2c8b961c ##Öffnen Sie Port 80 [root@server1 ~]# Docker-Port nginx 80/tcp -> 0.0.0.0:80 [root@server1 ~]# netstat -antlp | grep 80 tcp6 0 0 :::80 :::* LISTEN 27094/Docker-Proxy [root@server1 ~]# iptables -t nat -nL Kette PREROUTING (Richtlinie ACCEPT) Ziel Schutz Option Quelle Ziel DOCKER alle -- 0.0.0.0/0 0.0.0.0/0 ADDRTYPE entspricht Zieltyp LOCAL Ketteneingabe (Richtlinie AKZEPTIEREN) Ziel Schutz Option Quelle Ziel Kettenausgabe (Richtlinie AKZEPTIEREN) Ziel Schutz Option Quelle Ziel DOCKER alle -- 0.0.0.0/0 !127.0.0.0/8 ADDRTYPE entspricht Zieltyp LOCAL Kette POSTROUTING (Richtlinie AKZEPTIEREN) Ziel Schutz Opt Quelle Ziel MASQUERADE alle -- 172.26.0.0/24 0.0.0.0/0 MASQUERADE alle -- 172.20.0.0/16 0.0.0.0/0 MASQUERADE alle -- 172.18.0.0/16 0.0.0.0/0 MASQUERADE alle -- 172.17.0.0/16 0.0.0.0/0 MASQUERADE tcp -- 172.17.0.2 172.17.0.2 tcp dpt:80 Chain DOCKER (2 Referenzen) Ziel Schutz Opt Quelle Ziel Alles zurückgeben -- 0.0.0.0/0 0.0.0.0/0 Alles zurückgeben -- 0.0.0.0/0 0.0.0.0/0 Alles zurückgeben -- 0.0.0.0/0 0.0.0.0/0 Alles zurückgeben -- 0.0.0.0/0 0.0.0.0/0 DNAT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 bis:172.17.0.2:80 [root@server1 ~] Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur. Das könnte Sie auch interessieren:
|
<<: Eine kurze Diskussion über Lösungen zum Stören von CSS3-Animationen
>>: 1 Minute Vue implementiert Rechtsklickmenü
Dieses Mal schauen wir uns ein Navigationsleisten...
1. Befehlseinführung Der Dateibefehl wird verwend...
Ich entwickle derzeit ein neues App-Projekt. Dies...
Inhaltsverzeichnis 1. Warenkorb-Beispiel 2. Code-...
Die Ladegeschwindigkeit einer Webseite ist ein wic...
In diesem Artikel wird der spezifische Code von n...
Der Spread-Operator ermöglicht die Erweiterung ei...
Definition und Verwendung von „deaktiviert“ Das d...
Inhaltsverzeichnis Sonderzeichen in URLs Escapeze...
Anwendungsszenarien Bei vorhandenen Servern A und...
Inhaltsverzeichnis Vorwort Stellt der Interviewer...
Wird UPDATE gesperrt? Wird die SQL-Anweisung gesp...
Frage: Was ist der Unterschied zwischen int(1) un...
Als Baidu diese Anforderung erhielt, fand das Unt...
Inhaltsverzeichnis Grundlegende Einführung Erste ...