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

React+axios implementiert die Suchbenutzerfunktion von GitHub (Beispielcode)

laden Anforderung erfolgreich Anforderung fehlges...

Lösung für das Problem mit verstümmelten chinesischen MySQL-Zeichen

1. Die chinesischen verstümmelten Zeichen erschei...

So konfigurieren Sie WordPress mit Nginx

Zuvor hatte ich WordPress selbst erstellt, aber d...

Designtheorie: Warum suchen wir am falschen Ort?

Ich bin vor ein paar Tagen mit dem Bus zur Arbeit...

So konfigurieren Sie ein Jupyter-Notebook im Docker-Container

Das Jupyter-Notebook wird unter dem Docker-Contai...

MySQL extrahiert zufällig eine bestimmte Anzahl von Datensätzen

Früher habe ich zur Handhabung dieser Art von Nut...

Analysieren Sie, wie Uniapp den Schnittstellendomänennamen dynamisch erhält

Hintergrund Der Domänenname der Schnittstelle ist...

Beispiel eines Befehls zur Linux-Hardwarekonfiguration

Hardware-Ansichtsbefehle System # uname -a # Kern...

Erfahren Sie mehr über die Verwendung regulärer Ausdrücke in JavaScript

Inhaltsverzeichnis 1. Was ist ein regulärer Ausdr...

Detaillierte Erklärung des CSS-Pseudoelements::marker

Dieser Artikel stellt ein interessantes Pseudoele...

Lokale MySQL-Installation und Problemlösung

Vorwort Dieser Artikel ist ziemlich ausführlich u...

Reflexion und Proxy in Front-End-JavaScript

Inhaltsverzeichnis 1. Was ist Reflexion? 2. Refle...

Zusammenfassung der MySQL-Indexkenntnisse

Die Einrichtung eines MySQL-Index ist für den eff...