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

Probleme beim Erstellen von Platzhaltern für HTML-Auswahlfelder

Ich verwende einen Platzhalter in einer Texteinga...

So stellen Sie ElasticSearch in Docker bereit

1. Was ist ElasticSearch? Elasticsearch wird eben...

Häufig verwendete HTML-Format-Tags_Powernode Java Academy

1. Titel HTML definiert sechs <h>-Tags: <...

Eine einfache und eingehende Studie zu Async und Await in JavaScript

Inhaltsverzeichnis 1. Einleitung 2. Detaillierte ...

Detaillierte Erläuterung der MySQL-Datenbankisolationsebene und des MVCC

Inhaltsverzeichnis 1. Isolationsstufe LESEN SIE U...

Fähigkeiten zur Seiten-Refaktorierung - Inhalt

Genug des Smalltalks <br />Basierend auf de...

Einführung in die Verwendung des Select-Optgroup-Tags in HTML

Gelegentlich muss ich ausgewählte Inhalte gruppier...

Implementierung des Aufbaus eines Kubernetes-Clusters mit VirtualBox+Ubuntu16

Inhaltsverzeichnis Über Kubernetes Grundlegende U...

Vue führt einen einfachen zufälligen Namensaufruf durch

Inhaltsverzeichnis Layoutteil: <div id="a...

So verwenden Sie Yum zum Konfigurieren der lnmp-Umgebung im CentOS7.6-System

1. Details zur Installationsversion Server: Maria...

Confluence mit Docker bereitstellen

1. Umweltanforderungen 1. Docker 17 und höher wur...

Allgemeine Verwendung von regulären Ausdrücken in MySQL

Allgemeine Verwendung von Regexp in Mysql Fuzzy-M...

Detaillierte Beschreibung der Unicode-Signatur-BOM

Unicode-Signatur-BOM – Was ist die BOM? BOM ist di...