1. Docker-Netzwerkverwaltung 1. Docker-Container-Methode 1) Docker greift auf das externe Netzwerk zu Der Docker-Container ist mit der Docker0-Brücke des Hosts verbunden, um auf das externe Netzwerk zuzugreifen. Die Docker0-Brücke wird standardmäßig automatisch zum Docker-Container hinzugefügt. 2) Für die Kommunikation zwischen Containern muss der Administrator eine Brücke erstellen und verschiedene Container mit der Brücke verbinden, um den gegenseitigen Zugriff zwischen den Containern zu ermöglichen. 3) Container mit externem Netzwerkzugriff erreichen die Kommunikation durch Portzuordnung oder Synchronisierung der Docker-Host-Netzwerkkonfiguration. 2. Docker-Container-Netzwerkkommunikationsmodus 1) Brücke 2) keine 3) Behälter 4) Gastgeber 3. Konfigurieren Sie den Bridge-Netzwerkkommunikationsmodus [root@centos01 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo <!--CentOS7-Quelle installieren--> [root@centos01 ~]# yum -y install docker <!--Docker installieren--> [root@centos01 ~]# systemctl start docker <!--Docker starten--> [root@centos01 ~]# systemctl enable docker <!--Docker so einstellen, dass er beim Booten automatisch startet--> [root@centos01 ~]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf <!--Routing-Funktion aktivieren--> [root@centos01 ~]# sysctl -p <!--Konfiguration aktualisieren--> net.ipv4.ip_forward = 1 [root@centos01 ~]# docker pull hub.c.163.com/public/centos:7.2-tools <!--Laden Sie das Image herunter--> [root@centos01 ~]# Docker-Bilder <!--Bild anzeigen--> REPOSITORY TAG BILD ID ERSTELLT GRÖSSE hub.c.163.com/public/centos 7.2-tools 4a4618db62b9 vor 3 Jahren 515 MB [root@centos01 ~]# docker run -d --net=bridge --name centos7.201 hub.c.163.com/public/centos:7.2-tools <!--Konfigurieren Sie die Netzwerkkommunikation der erstellten Containerbrücke. Der Container greift über --> auf das Internet zu. b308fb5c097fd455073f2f4a280d2660e6943fe1a62d6409e8ebcd3b86469438 [root@centos01 ~]# docker ps <!--Den laufenden Container anzeigen--> CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN b308fb5c097f hub.c.163.com/public/centos:7.2-tools "/usr/bin/supervisord" vor 20 Sekunden Aktiv 19 Sekunden 22/tcp centos7.201 [root@centos01 ~]# ifconfig <!--IP-Adressinformationen des Docker-Hosts anzeigen --> docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.17.0.1 Netzmaske 255.255.0.0 Broadcast 0.0.0.0 [root@centos01 ~]# docker exec -it centos7.201 /bin/bash <!--Melden Sie sich beim Container centos7.201 an--> [root@b308fb5c097f /]# ifconfig <!--IP-Adresse anzeigen--> eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.17.0.2 Netzmaske 255.255.0.0 Broadcast 0.0.0.0 [root@b308fb5c097f /]# ping www.baidu.com <!--centos7.201 Container-Ping-Test für öffentliches Netzwerk--> PING www.a.shifen.com (39.156.66.18) 56(84) Bytes Daten. 64 Bytes von 39.156.66.18: icmp_seq=1 ttl=50 Zeit=18,4 ms 64 Bytes von 39.156.66.18: icmp_seq=2 ttl=50 Zeit=18,3 ms 64 Bytes von 39.156.66.18: icmp_seq=3 ttl=50 Zeit=16,9 ms [root@b308fb5c097f /]# ping 192.168.100.10 <!--Ping-Host-IP-Test--> PING 192.168.100.10 (192.168.100.10) 56(84) Bytes Daten. 64 Bytes von 192.168.100.10: icmp_seq=1 ttl=64 Zeit=0,043 ms 64 Bytes von 192.168.100.10: icmp_seq=2 ttl=64 Zeit=0,086 ms 64 Bytes von 192.168.100.10: icmp_seq=3 ttl=64 Zeit=0,150 ms 4. Konfigurieren Sie den Nicht-Netzwerkkommunikationsmodus [root@centos01 ~]# docker run -d --net=none --name centos7.202 hub.c.163.com/public/centos:7.2-tools <!--Der Docker-Container muss nicht mit dem Netzwerk verbunden werden, da der Container sonst nicht kommunizieren kann--> e2c4837d67818e7ef4d7cedf964db21d98cabb594d12091d7f69da4e8fb3f30f [root@centos01 ~]# docker ps <!--Den laufenden Container anzeigen--> CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN e2c4837d6781 hub.c.163.com/public/centos:7.2-tools "/usr/bin/supervisord" vor 57 Sekunden Hoch 56 Sekunden centos7.202 b308fb5c097f hub.c.163.com/public/centos:7.2-tools "/usr/bin/supervisord" vor 7 Minuten Up 7 Minuten 22/tcp centos7.201 [root@centos01 ~]# docker exec -it centos7.202 /bin/bash <!--Melden Sie sich beim Container centos7.202 an--> [root@e2c4837d6781 /]# ifconfig <!--IP-Adresse anzeigen--> lo: Flags = 73 <UP, LOOPBACK, RUNNING> mtu 65536 inet 127.0.0.1 Netzmaske 255.0.0.0 [root@e2c4837d6781 /]# ping www.baidu.com <!--Ping, das öffentliche Netzwerk ist nicht zugänglich--> Ping: unbekannter Host www.baidu.com [root@e2c4837d6781 /]# [root@e2c4837d6781 /]# ping 192.168.100.10 <!--Pingen Sie die Host-IP-Adresse, auf die nicht zugegriffen werden kann--> connect: Netzwerk ist nicht erreichbar 5. Konfigurieren Sie den Host-Netzwerkkommunikationsmodus [root@centos01 ~]# docker run -d --net=host --name centos7.203 -v /data1 hub.c.163.com/public/centos:7.2-tools <!--Konfigurieren Sie den laufenden Container und das Hostnetzwerk, um die Synchronisierung aufrechtzuerhalten--> 2911358be486720c4ee93c8de22cd77301236f48c5baf22ea63bb3c54450032e [root@centos01 ~]# ls /var/lib/docker/volumes/ <!--Das erstellte Datenvolumen anzeigen--> dc755f3b6036f167471435629918d06264e1c2c6a8b175426fa80da36143a87e metadata.db [root@centos01 ~]# docker ps <!--Den laufenden Container anzeigen--> CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN 2911358be486 hub.c.163.com/public/centos:7.2-tools "/usr/bin/supervisord" Vor etwa einer Minute Aktiv Vor etwa einer Minute centos7.203 e2c4837d6781 hub.c.163.com/public/centos:7.2-tools "/usr/bin/supervisord" vor 15 Minuten Aktiv 15 Minuten centos7.202 b308fb5c097f hub.c.163.com/public/centos:7.2-tools "/usr/bin/supervisord" vor 21 Minuten Aktiv 21 Minuten 22/tcp centos7.201 [root@centos01 ~]# docker exec -it centos7.203 /bin/bash <!--Melden Sie sich beim Container centos7.203 an--> [root@centos01 /]# ifconfig <!--IP-Adresse anzeigen--> docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.17.0.1 Netzmaske 255.255.0.0 Broadcast 0.0.0.0 ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.10 Netzmaske 255.255.255.0 Broadcast 192.168.100.255 ens34: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.126 Netzmaske 255.255.255.0 Broadcast 192.168.0.255 lo: Flags = 73 <UP, LOOPBACK, RUNNING> mtu 65536 inet 127.0.0.1 Netzmaske 255.0.0.0 vethc39178a: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::7c4b:a6ff:fe1c:a37f Präfixlänge 64 Bereichs-ID 0x20<Link> virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 Netzmaske 255.255.255.0 Broadcast 192.168.122.255 [root@centos01 ~]# docker exec -it centos7.203 /bin/bash <!--Melden Sie sich beim Container centos7.203 an--> [root@centos01 /]# ping www.baidu.com <!--Ping-Test für öffentliches Netzwerk--> PING www.a.shifen.com (39.156.66.14) 56(84) Bytes Daten. 64 Bytes von 39.156.66.14: icmp_seq=1 ttl=51 Zeit=20,0 ms 64 Bytes von 39.156.66.14: icmp_seq=2 ttl=51 Zeit=19,1 ms 64 Bytes von 39.156.66.14: icmp_seq=3 ttl=51 Zeit=15,9 ms [root@centos01 /]# ping 192.168.100.10 <!--Ping-Host-IP-Adresstest--> PING 192.168.100.10 (192.168.100.10) 56(84) Bytes Daten. 64 Bytes von 192.168.100.10: icmp_seq=1 ttl=64 Zeit=0,020 ms 64 Bytes von 192.168.100.10: icmp_seq=2 ttl=64 Zeit=0,060 ms 64 Bytes von 192.168.100.10: icmp_seq=3 ttl=64 Zeit=0,030 ms <!---Centos7.203-Container installiert Nginx--> [root@centos01 ~]# cp /mnt/nginx-1.6.0.tar.gz ./ <!--Komprimiertes Nginx-Paket kopieren--> [root@centos01 ~]# ls anaconda-ks.cfg initial-setup-ks.cfg nginx-1.6.0.tar.gz [root@centos01 ~]# cp nginx-1.6.0.tar.gz /var/lib/docker/volumes/dc755f3b6036f167471435629918d06264e1c2c6a8b175426fa80da36143a87e/_data/ <!--Teilen Sie das komprimierte Nginx-Paket über das Datenvolumen mit dem Container centos7.203--> [root@centos01 ~]# docker exec -it centos7.203 /bin/bash <!--Melden Sie sich beim Container centos7.203 an--> [root@centos01 /]# ls anaconda-post.log bin data1 dev etc home lib lib64 verloren+gefunden Medien mnt opt proc root run sbin srv sys tmp usr var [root@centos01 /]# cd data1/ <!--Vom Host freigegebene Daten anzeigen --> [root@centos01 data1]# ls nginx-1.6.0.tar.gz [root@centos01 /]# yum -y install pcre-devel zlib-devel <!--Von Nginx abhängige Programme installieren--> [root@centos01 /]# useradd -M -s /sbin/nologin nginx <!--Nginx-Benutzer erstellen und verwalten--> [root@centos01 /]# tar zxvf /data1/nginx-1.6.0.tar.gz -C /usr/src/ <!--Entpacken Sie das Nginx-Paket--> [root@centos01 /]#yum -y install gcc pcre-devel zlib-devel make <!--Installieren Sie zuerst die Abhängigkeiten--> [root@centos01 /]# cd /usr/src/nginx-1.6.0/ [root@centos01 nginx-1.6.0]# ./configure --prefix=/usr/local/nginx --user=nginx --with-http_stub_status_module && make && make install <!--Nginx konfigurieren und nginx kompilieren und installieren--> [root@centos01 nginx-1.6.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ <!--Befehl zur Optimierung der Nginx-Ausführung--> [root@centos01 nginx-1.6.0]# echo "www.docker.nginx.com" > /usr/local/nginx/html/index.html <!--Inhalt der Homepage der Nginx-Website ändern--> [root@centos01 nginx-1.6.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ <!--Starten Sie den Nginx-Dienst im Centos7.203-Container--> [root@centos01 nginx-1.6.0]# netstat -anptu | grep nginx <!--Hören Sie auf die Portnummer des Nginx-Dienstes, um zu sehen, ob er läuft--> tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6268/nginx: Master [root@centos01 ~]# curl http://192.168.100.10 <!--Docker-Host greift im Centos7.203-Container auf Nginx zu--> www.docker.nginx.com [root@centos01 nginx-1.6.0]# cat /usr/local/nginx/logs/access.log <!--Sehen Sie sich das Protokoll des erfolgreichen Zugriffs auf Nginx im Container centos7.203 an--> 192.168.100.10 - - [12/Mai/2020:21:42:47 +0800] "GET / HTTP/1.1" 200 21 "-" "curl/7.29.0" 6. Konfigurieren Sie die Docker0-Netzwerkkartenparameter [root@centos01 ~]# ifconfig <!--IP-Adresse des Docker-Hosts anzeigen --> docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.17.0.1 Netzmaske 255.255.0.0 Broadcast 0.0.0.0 [root@centos01 ~]# systemctl stop docker <!--Docker-Dienst stoppen--> [root@centos01 ~]# ip link set dev docker0 down <!--Docker0-Brücke stoppen--> [root@centos01 ~]# brctl delbr docker0 <!--Löscht die Standard-Docker0-Bridge des Systems--> [root@centos01 ~]# brctl addbr docker0 <!--Erstelle eine neue Bridge mit dem Namen docker0--> [root@centos01 ~]# ip addr add 192.168.20.1/24 dev dokcer0 <!-- Neue Bridge-Docker0-Konfigurations-IP-Adresse --> [root@centos01 ~]# ip link set dev docker0 up <!--Starte eine neue Docker0-Brücke--> [root@centos01 ~]# vim /etc/docker/daemon.json <!--Ändern Sie die Docker-Konfigurationsdatei, um die neue Bridge Docker0 zu laden--> {"registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"]} {"bip":"192.168.20.1/24"} <!--Fügen Sie diese Zeile hinzu--> [root@centos01 ~]# systemctl start docker <!--Docker-Dienst starten--> [root@centos01 ~]# ifconfig <!--Detaillierte IP-Informationen des Docker-Hosts anzeigen --> docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.20.1 Netzmaske 255.255.255.0 Broadcast 0.0.0.0 [root@centos01 ~]# docker run -it -d --name centos7.2v1 hub.c.163.com/public/centos:7.2-tools <!--Einen Container erstellen, der im Hintergrund ausgeführt wird--> d0b5392e60cef37f3c44d79a9fb73916720cfc44faa7b73862bee05fb2d6ce7b [root@centos01 ~]# docker exec -it centos7.2v1 /bin/bash <!--Melden Sie sich beim Container centos7.2v1 an--> [root@d0b5392e60ce /]# ifconfig <!--IP-Adressdetails anzeigen--> eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.20.2 Netzmaske 255.255.255.0 Broadcast 0.0.0.0 2. Docker-Netzwerkisolation 1. Docker-Netzwerkisolationsprinzip Sie müssen Netzwerkraumnamen verwalten und erstellen; verschiedene Container in verschiedene Netzwerkraumnamen laden, um eine Isolation zu erreichen; die Netzwerkisolation ist standardmäßig nicht konfiguriert und dem Container wird standardmäßig der Netzwerkraumname docker0 zugewiesen. 2. Netzwerkraum-Namenstyp, der mit dem Docker-Container geliefert wird
3. Konfigurieren Sie die Docker-Netzwerk-Namespace-Isolation [root@centos01 ~]# docker network ls <!--Den Standard-Netzwerk-Namespace von Docker anzeigen--> NETZWERK-ID-NAME TREIBER-UMFANG 8bb953004416 Brücke Brücke lokal 2c18234cad82 Host Host lokal 67860e823c36 keine null lokal [root@centos01 ~]# docker network create -d bridge liyanxin <!--Einen Netzwerk-Namespace erstellen--> 0c69de4672ec173dc4c60b19e0bf93b361f45a804859f7bc2105d85ca83b1169 [root@centos01 ~]# docker network create -d bridge gongsunli <!--Einen Netzwerk-Namespace erstellen--> 35687468c9034262173a96e9c23e045cbb8b7ffa6648fc84e015504740815001 [root@centos01 ~]# ifconfig <!--Informationen zur Netzwerkkarte des Docker-Hosts anzeigen--> br-0c69de4672ec: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.18.0.1 Netzmaske 255.255.0.0 Broadcast 0.0.0.0 br-35687468c903: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.19.0.1 Netzmaske 255.255.0.0 Broadcast 0.0.0.0 [root@centos01 ~]# docker run -it -d --name centos6.701 --network=liyanxin hub.c.163.com/public/centos:6.7-tools <!--Erstellen Sie einen laufenden Container und fügen Sie ihn zur Isolierung dem Liyanxin-Netzwerk-Namespace hinzu--> b85a2d8419a98756369ddc3b78247d3d42c178e8e563a936fe973f2f6611f951 [root@centos01 ~]# docker exec -it centos6.701 /bin/bash <!--Melden Sie sich beim Container centos6.701 an--> [root@b85a2d8419a9 /]# ifconfig <!--IP-Adresse anzeigen--> eth0 Link encap:Ethernet HWaddr 02:42:AC:12:00:02 Inet-Adresse: 172.18.0.2 Bcast: 0.0.0.0 Maske: 255.255.0.0 [root@centos01 ~]# docker run -it -d --name centos6.702 --network=gongsunli hub.c.163.com/public/centos:6.7-tools <!--Erstellen Sie einen laufenden Container und fügen Sie ihn zur Isolierung dem Gongsunli-Netzwerk-Namespace hinzu--> 9af0fb7b85af3270f3c7c44b62438f436b22289ac0a7604d6ed522604b7b185f [root@centos01 ~]# docker exec -it centos6.702 /bin/bash <!--Melden Sie sich beim Container centos6.702 an--> [root@9af0fb7b85af /]# ifconfig <!--IP-Adresse anzeigen--> eth0 Link encap:Ethernet HWaddr 02:42:AC:13:00:02 Inet-Adresse: 172.19.0.2 Bcast: 0.0.0.0 Maske: 255.255.0.0 3. Konfigurieren Sie eine Brücke, um eine Netzwerkisolation zu erreichen 1. Konfigurieren Sie die Brücke, um eine Netzwerkisolation zu erreichen Implementieren Sie die Containerkommunikation zwischen Docker-Hosts und anderen Containern. 2. Konfigurieren Sie die Bridge, um das Netzwerkisolationsprinzip umzusetzen <br /> Verbinden Sie die physische Netzwerkkarte mit der erstellten Bridge-Netzwerkkarte; konfigurieren Sie die IP-Adresse für die Bridge-Netzwerkkarte; erstellen Sie einen Container, um die Bridge-Netzwerkkarte zu laden und zu implementieren; Docker-Host-Container kommunizieren über Docker-Host-Container hinweg; Administratoren verwalten Docker-Hosts remote über die Bridge-Netzwerkkarte 3. Konfigurieren Sie die Docker Bridge, um eine Netzwerkisolation zu erreichen [root@centos01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32 <!--Ändern Sie die physische Netzwerkkarte des Docker-Hosts, um eine Brücke zur Bridge-Netzwerkkarte br0 zu bilden--> TYP=Ethernet PROXY_METHOD=keine BROWSER_ONLY=nein BOOTPROTO=statisch DEFROUTE=ja NAME=ens32 GERÄT=ens32 ONBOOT=ja BRIDGE=br0 <!--Fügen Sie diese Zeile hinzu--> [root@centos01 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-br0 <!--Brücke br0 erstellen und generieren--> [root@centos01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0 <!--Konfigurationsdatei der br0-Netzwerkkarte bearbeiten--> TYPE=Bridge <!--Ändern Sie diese Zeile--> PROXY_METHOD=keine BROWSER_ONLY=nein BOOTPROTO=statisch DEFROUTE=ja NAME=br0 <!--Name ändern--> DEVICE=br0 <!--Name ändern--> ONBOOT=ja IPADDR=192.168.100.10 <!--Fügen Sie die IP-Adresse des Hosts hinzu--> NETMASK=255.255.255.0 [root@centos01 ~]# systemctl restart network <!--Starten Sie den Netzwerkkartendienst des Docker-Hosts neu--> [root@centos01 ~]# ifconfig <!--Informationen zur Netzwerkkarte des Docker-Hosts anzeigen--> br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.10 Netzmaske 255.255.255.0 Broadcast 192.168.100.255 br-0c69de4672ec: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.18.0.1 Netzmaske 255.255.0.0 Broadcast 0.0.0.0 br-35687468c903: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.19.0.1 Netzmaske 255.255.0.0 Broadcast 0.0.0.0 docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 Netzmaske 255.255.0.0 Broadcast 0.0.0.0 ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 Ether 00:0c:29:18:d3:26 txqueuelen 1000 (Ethernet) ens34: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::4ad2:dd37:4341:5d8e Präfixlänge 64 Bereichs-ID 0x20<link> lo: Flags = 73 <UP, LOOPBACK, RUNNING> mtu 65536 inet 127.0.0.1 Netzmaske 255.0.0.0 veth7b0bb5f: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::ccd3:86ff:fee6:5725 Präfixlänge 64 Bereichs-ID 0x20<link> veth7e0f471: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::684c:fdff:fe13:b436 Präfixlänge 64 Bereichs-ID 0x20<Link> virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 Netzmaske 255.255.255.0 Broadcast 192.168.122.255 [root@centos01 ~]# yum -y install git <!--Git auf dem Docker-Host installieren--> [root@centos01 ~]# git clone https://github.com/jpetazzo/pipework <!--Laden Sie das Docker-Container-Netzwerkverwaltungstool Pipework herunter--> [root@centos01 ~]# cp pipework/pipework /usr/local/bin/ <!--Verwaltungsbefehle optimieren--> [root@centos01 ~]# chmod +x /usr/local/bin/pipework <!--Ausführungsberechtigung hinzufügen--> [root@centos01 ~]# docker run -d --name centos6.703 --network=none hub.c.163.com/public/centos:6.7-tools <!--Führen Sie den Container durch das Image aus--> adea0ad48bdde947ec595382d96cba06eb6522ec046e9b3c7bfcb1edb5c84545 [root@centos01 ~]# Pipework br0 centos6.703 192.168.100.101/24 <!--IP-Adresse für Centos6.703-Container konfigurieren--> [root@centos01 ~]# docker exec -it centos6.703 /bin/bash <!--Melden Sie sich beim Container centos6.703 an--> [root@adea0ad48bdd /]# ifconfig <!--IP-Adresse anzeigen--> eth1 Link encap:Ethernet HWaddr FA:3A:9D:ED:C0:FF Inet-Adresse: 192.168.100.101 Bcast: 192.168.100.255 Maske: 255.255.255.0 [root@adea0ad48bdd /]# ping 192.168.100.10 PING 192.168.100.10 (192.168.100.10) 56(84) Bytes Daten. 64 Bytes von 192.168.100.10: icmp_seq=1 ttl=64 Zeit=0,100 ms 64 Bytes von 192.168.100.10: icmp_seq=2 ttl=64 Zeit=0,097 ms 64 Bytes von 192.168.100.10: icmp_seq=3 ttl=64 Zeit=0,039 ms 4. Konfigurieren Sie den Docker-Hostcontainer und die Docker-Hostcontainer-Kommunikation [root@centos02 ~]# ping www.baidu.com <!--Öffnen Sie einen neuen Server, stellen Sie eine Verbindung zum öffentlichen Netzwerk her und installieren Sie Docker--> PING www.a.shifen.com (39.156.66.18) 56(84) Bytes Daten. 64 Bytes von 39.156.66.18 (39.156.66.18): icmp_seq=1 ttl=51 Zeit=19,5 ms 64 Bytes von 39.156.66.18 (39.156.66.18): icmp_seq=2 ttl=51 Zeit=17,3 ms 64 Bytes von 39.156.66.18 (39.156.66.18): icmp_seq=3 ttl=51 Zeit=18,1 ms [root@centos02 ~]# cd /etc/yum.repos.d/ [root@centos02 yum.repos.d]# ls lokales.repo [root@centos02 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo <!--CentOS7-Quelle herunterladen--> [root@centos02 ~]# yum install docker -y <!--Docker installieren--> [root@centos02 ~]# systemctl start docker <!--Docker starten--> [root@centos02 ~]# systemctl enable docker <!--Automatischen Start einstellen--> [root@centos02 ~]# docker pull hub.c.163.com/public/centos:6.7-tools <!--Laden Sie das Image herunter--> [root@centos02 ~]# Docker-Bilder <!--Bild anzeigen--> REPOSITORY TAG BILD ID ERSTELLT GRÖSSE hub.c.163.com/public/centos 6.7-tools b2ab0ed558bb vor 3 Jahren 602 MB [root@centos02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32 <!--Ändern Sie die Konfigurationsinformationen der Netzwerkkarte des Docker-Hosts, um eine Brücke zur Netzwerkkarte br0 zu bilden--> TYP=Ethernet PROXY_METHOD=keine BROWSER_ONLY=nein BOOTPROTO=statisch DEFROUTE=ja NAME=ens32 GERÄT=ens32 ONBOOT=ja BRIDGE=br0 <!--Fügen Sie diese Zeile hinzu--> [root@centos02 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-br0 <!--Brücke br0 erstellen und generieren--> [root@centos02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0 <!--Konfigurationsdatei der br0-Netzwerkkarte bearbeiten--> TYPE=Bridge <!--Ändern zu Bridge--> PROXY_METHOD=keine BROWSER_ONLY=nein BOOTPROTO=statisch DEFROUTE=ja NAME=br0 <!--Name ändern--> DEVICE=br0 <!--Ändern zu br0--> ONBOOT=ja IPADDR=192.168.100.20 <!--Fügen Sie die IP-Adresse des Hosts hinzu--> NETMASK=255.255.255.0 [root@centos02 ~]# systemctl restart network <!--Starten Sie den Netzwerkkartendienst des Docker-Hosts neu--> [root@centos02 ~]# ifconfig <!--Informationen zur Netzwerkkarte des Docker-Hosts anzeigen--> br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.20 Netzmaske 255.255.255.0 Broadcast 192.168.100.255 docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 Netzmaske 255.255.0.0 Broadcast 0.0.0.0 ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 Ether 00:0c:29:97:5c:9f txqueuelen 1000 (Ethernet) ens34: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.104 Netzmaske 255.255.255.0 Broadcast 192.168.0.255 lo: Flags = 73 <UP, LOOPBACK, RUNNING> mtu 65536 inet 127.0.0.1 Netzmaske 255.0.0.0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 Netzmaske 255.255.255.0 Broadcast 192.168.122.255 [root@centos02 ~]# yum -y install git <!--Git installieren--> [root@centos02 ~]# git clone https://github.com/jpetazzo/pipework <!--Laden Sie das Docker-Container-Netzwerkverwaltungstool Pipework herunter--> [root@centos02 ~]# cp pipework/pipework /usr/local/bin/ <!--Verwaltungsbefehle optimieren--> [root@centos02 ~]# chmod +x /usr/local/bin/pipework <!--Ausführungsberechtigung hinzufügen--> [root@centos02 ~]# docker run -d --name centos6.7 --network=none hub.c.163.com/public/centos:6.7-tools <!--Führen Sie den Container aus, indem Sie --> abec0a6bd3822a2fd702dc44d1cf3043648aadd1a661e577c23701e30ee9df7a [root@centos02 ~]# Pipework br0 centos6.7 192.168.100.102/24 <!--IP-Adresse für Centos6.7-Container konfigurieren--> [root@centos02 ~]# docker exec -it centos6.7 /bin/bash <!--Melden Sie sich beim centos6.7-Container an--> [root@abec0a6bd382 /]# ifconfig <!--IP-Adresse anzeigen--> eth1 Link encap:Ethernet HWaddr EE:01:B7:99:90:1C Inet-Adresse: 192.168.100.102 Bcast: 192.168.100.255 Maske: 255.255.255.0 [root@abec0a6bd382 /]# ping 192.168.100.101 <!----> PING 192.168.100.101 (192.168.100.101) 56(84) Bytes Daten. 64 Bytes von 192.168.100.101: icmp_seq=1 ttl=64 Zeit=0,660 ms 64 Bytes von 192.168.100.101: icmp_seq=2 ttl=64 Zeit=0,865 ms 64 Bytes von 192.168.100.101: icmp_seq=3 ttl=64 Zeit=0,382 ms [root@abec0a6bd382 /]# ping 192.168.100.10 <!----> PING 192.168.100.10 (192.168.100.10) 56(84) Bytes Daten. 64 Bytes von 192.168.100.10: icmp_seq=1 ttl=64 Zeit=0,632 ms 64 Bytes von 192.168.100.10: icmp_seq=2 ttl=64 Zeit=0,732 ms 64 Bytes von 192.168.100.10: icmp_seq=3 ttl=64 Zeit=0,796 ms [root@abec0a6bd382 /]# ping 192.168.100.20 <!----> PING 192.168.100.20 (192.168.100.20) 56(84) Bytes Daten. 64 Bytes von 192.168.100.20: icmp_seq=1 ttl=64 Zeit=0,144 ms 64 Bytes von 192.168.100.20: icmp_seq=2 ttl=64 Zeit=0,094 ms 64 Bytes von 192.168.100.20: icmp_seq=3 ttl=64 Zeit=0,043 ms Damit ist dieser Artikel über Netzwerkmanagement und Netzwerkisolationsimplementierung für Docker-Container abgeschlossen. Weitere Informationen zu Docker-Netzwerkmanagement und Netzwerkisolation finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: MySQL 8.0.19 Win10 - Schnellinstallations-Tutorial
>>: Die Verwendung von „group by“ in MySQL führt immer zu Fehler 1055 (empfohlen)
Lösung für MySQLSyntaxErrorException beim Herstel...
In diesem Artikel finden Sie das grafische Tutori...
Tutorial-Reihe MySQL-Reihe: Grundlegende Konzepte...
Ich bin auf ein Beispiel gestoßen, als ich nach e...
Inhaltsverzeichnis 1. Kurzbeschreibung 2. Schritt...
1. Geben Sie die Konfigurationsdatei der Yum-Quel...
Inhaltsverzeichnis 1. Was ist Array-Flattening? 2...
1 Herunterladen und vorbereiten Zuerst müssen wir...
Während des Entwicklungs- und Debugging-Prozesses...
123WORDPRESS.COM--HTML超文本标记语言速查手册<!-- --> !D...
Überblick über die Alibaba Cloud Security Group F...
In diesem Artikel wird die Installations- und Kon...
<br />Informationsduplikation, Informationsü...
[Problembeschreibung] Unsere Produktionsumgebung ...
Bei jeder Anmeldung am Testserver ist grundsätzli...