Eine kurze Diskussion über die vorläufige Praxis der Docker-Container-Verbindung

Eine kurze Diskussion über die vorläufige Praxis der Docker-Container-Verbindung

1. Verbindung zwischen Docker-Containern

Docker ist mittlerweile eine leichte Virtualisierungslösung. Auf derselben Hostmaschine können alle Container über Bridges miteinander verbunden werden. Wenn Sie bereits Erfahrung mit Docker haben, sind Sie möglicherweise daran gewöhnt, Container mit --link zu verbinden. Da Docker schrittweise verbessert wird, wird dringend empfohlen, zum Verbinden von Containern eine Brücke zu verwenden.

2. Übungsprozess

1. Erstellen Sie ein Netzwerk my-net:

[root@ChatDevOps ~]# Docker-Netzwerk erstellen my-net
71b42506de62797889372ea4a5270f905f79a19cf80e308119c02e529b89c94e
[root@ChatDevOps ~]# Docker-Netzwerk ls
NETZWERK-ID-NAME TREIBER-UMFANG
3dec5cbb852e Brücke Brücke lokal
6dd6dcfc2f26 Host Host lokal
71b42506de62 My-Net-Brücke lokal
4c142a02cd6b keine null lokal

2. Geben Sie beim Erstellen des Docker-Containers das Bridge-Netzwerk an:

[root@ChatDevOps Docker]# Docker erstellen -it --name d1 --network my-net -p 8080:80 Ubuntu:14.04
4776b65db566f370cad5da3a9354a12c7e4f9badab53647b7e30e1e8f343ae3d
[root@ChatDevOps Docker]# Docker start d1
d1

In diesem Befehl kann „docker create“ auch als „docker container create“ verwendet werden; die beiden sind gleichwertig. –name gibt den Namen des Containers an, –network gibt den Netzwerknamen des Containers an, der Bridge-Modus ist standardmäßig auf Bridge eingestellt und -p oder –publish gibt den zugeordneten Port an. Wenn das in diesem Schritt angegebene Netzwerk nicht im Voraus erstellt wurde, kann der Container nicht normal gestartet werden. An diesem Punkt können Sie ein Netzwerk für den Container erstellen und den Container erneut starten.

3. Sie können beim Ausführen eines Docker-Containers auch ein bereits erstelltes Netzwerk angeben:

[root@ChatDevOps Docker]# Docker run -it --name d2 --network my-net --publish 8081:80 Ubuntu:14.04 /bin/bash
root@07fd516911d0:/# ping d1
PING d1 (172.18.0.2) 56(84) Bytes Daten.
64 Bytes von d1.my-net (172.18.0.2): icmp_seq=1 ttl=64 Zeit=0,115 ms
root@4776b65db566:/# ping d2
PING d2 (172.18.0.3) 56(84) Bytes Daten.
64 Bytes von d2.my-net (172.18.0.3): icmp_seq=1 ttl=64 Zeit=0,062 ms

Sie können Container auf derselben Brücke über den Containernamen anpingen. Sie können die IP auch direkt anpingen.

Abschluss

1. Nachdem die Docker-Installation abgeschlossen ist, verfügt der Docker-Container über drei Netzwerke, wie folgt:

[root@ChatDevOps ~]# Docker-Netzwerk ls
NETZWERK-ID-NAME TREIBER-UMFANG
3dec5cbb852e Brücke Brücke lokal
6dd6dcfc2f26 Host Host lokal
4c142a02cd6b keine null lokal

2. Alle Containernetzwerke im selben Netzwerk sind interoperabel.

3. Die DNS-Konfiguration in der Netzwerkkonfiguration des Containers kann in der Datei /etc/docker/daemon.json auf dem Host konfiguriert werden, wobei das offizielle Format zu beachten ist:

{
 "bip": "192.168.1.5/24",
 "fixed-cidr": "192.168.1.5/25",
 "fixed-cidr-v6": "2001:db8::/64",
 "mtu": 1500,
 "Standard-Gateway": "10.20.1.1",
 "default-gateway-v6": "2001:db8:abcd::89",
 "dns": ["10.20.1.2","10.20.1.3"]
}

Sie können es entsprechend der tatsächlichen Situation konfigurieren.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Docker Link realisiert die Containerverbindung
  • Detaillierte Erläuterung der Docker-Portzuordnung und Containerverbindung
  • Docker-Lernhinweise: Weave realisiert die hostübergreifende Containerverbindung
  • Detaillierte Erläuterung der Verbindungsmethoden für Docker-Container
  • Implementierung der Docker-Link-Containerverbindung

<<:  NestJs verwendet Mongoose zum Betrieb von MongoDB

>>:  Kapselungsimplementierung des von nestjs an das Front-End zurückgegebenen Datenformats

Artikel empfehlen

Auswahl der Groß-/Kleinschreibung von MySQL-Tabellennamen

Inhaltsverzeichnis 1. Parameter, die die Groß-/Kl...

Transplantieren des Befehls mkfs.vfat in Busybox unter Linux

Um die Lebensdauer der Festplatte zum Speichern v...

Verständnis des CSS-Selektorgewichts (persönlicher Test)

Code kopieren Der Code lautet wie folgt: <styl...

Einführung in den Befehl „Linux-Typversion-Speicherfestplattenabfrage“

1. Lassen Sie uns zunächst eine allgemeine Einfüh...

Beispielcode zum Festlegen des Beschriftungsstils mithilfe des CSS-Selektors

CSS-Selektoren Durch Festlegen des Stils für das ...

So bereinigen Sie den von Docker belegten Speicherplatz

Docker nimmt viel Platz ein. Immer wenn wir Conta...

Detaillierte Beispiele für Ersetzen und Ersetzen in MySQL into_Mysql

„Replace“ und „Replace into“ von MySQL sind beide...

1 Minute Vue implementiert Rechtsklickmenü

Inhaltsverzeichnis Rendern Installieren Code-Impl...