Detaillierte Beispiele für Docker-Compose-Netzwerke

Detaillierte Beispiele für Docker-Compose-Netzwerke

Ich habe heute mit den Netzwerkeinstellungen unter Docker experimentiert und den Vorgang aufgezeichnet, um ihn später nicht zu vergessen.

(System: Centos 7.4, Docker-Version: 18.03.1-ce, Docker-Compose-Version 1.18.0)

Katze docker-compose.yml 
Version: '3'
Leistungen: 
 Prüfung1:
  Bild: busybox:latest # Das Bild ist busybox
  Einstiegspunkt: #Führen Sie den Top-Befehl aus, nachdem der Container gestartet wurde, damit der Container nicht sofort beendet werden kann - top
  Netzwerke:
   Backend: # Verwenden Sie das angegebene Netzwerk-Backend und legen Sie den Netzwerkalias auf test1 fest.
    Aliase: # Nachdem Sie den Netzwerkalias festgelegt haben, können Sie test1 in anderen Containern anpingen, um auf den Container - test1 - zuzugreifen

 Prüfung2:
  Bild: busybox:latest
  Einstiegspunkt:
   - Spitze
  Netzwerke:
   Backend:
    Aliase:
     -Test2

Netzwerke:
 Backend:

Start-up

docker-compose up -d

Docker ps -a
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
4d05ceb2088d busybox:latest "top" vor 5 Sekunden Up 4 Sekunden ibaboss_test2_1
f4ccafa24664 busybox:latest "top" vor 5 Sekunden Up 4 Sekunden ibaboss_test1_1

docker exec -it 4d05ceb2088d /bin/sh
/# Ping-Test1
PING-Test1 (172.19.0.2): 56 Datenbytes
64 Bytes von 172.19.0.2: seq=0 ttl=64 Zeit=0,061 ms
64 Bytes von 172.19.0.2: seq=1 ttl=64 Zeit=0,062 ms

ping ibaboss_test1_1
PING ibaboss_test1_1 (172.19.0.2): 56 Datenbytes
64 Bytes von 172.19.0.2: seq=0 ttl=64 Zeit=0,045 ms
64 Bytes von 172.19.0.2: seq=1 ttl=64 Zeit=0,056 ms
64 Bytes von 172.19.0.2: seq=2 ttl=64 Zeit=0,061 ms

# Im Netzwerk können Sie über den Containernamen oder den Netzwerkalias kommunizieren

Das Format des Compose-Containernamens lautet: <Projektname><Dienstname><Seriennummer>

Obwohl Sie den Projektnamen und den Dienstnamen anpassen können, können Sie diesen Tag verwenden, um die Benennung des Containers anzugeben, wenn Sie die volle Kontrolle darüber haben möchten:

Containername: App
Katze docker-compose_v1.yml 
Version: '3'
Leistungen: 
 Prüfung1:
  Bild: busybox:latest
  Einstiegspunkt:
   - Spitze
  Containername: test1
  Netzwerke:
   - Backend

 Prüfung2:
  Bild: busybox:latest
  Einstiegspunkt:
   - Spitze
  Containername: test2
  Netzwerke:
   - Backend

Netzwerke:
 Backend:

Start-up

docker-compose -f docker-compose_v1.yml up -d

Docker ps -a
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
132859fc77c2 busybox:latest "top" Vor etwa einer Minute Up Vor etwa einer Minute test2
cd0a78dc9bd4 busybox:latest "top" Vor etwa einer Minute Up Vor etwa einer Minute test1

docker exec -it 132859fc77c2 ping test1
PING-Test1 (172.19.0.2): 56 Datenbytes
64 Bytes von 172.19.0.2: seq=0 ttl=64 Zeit=0,070 ms
64 Bytes von 172.19.0.2: seq=1 ttl=64 Zeit=0,068 ms
64 Bytes von 172.19.0.2: seq=2 ttl=64 Zeit=0,059 ms

Auffüllen:

Docker Compose - Problem mit dem gemeinsam genutzten Netzwerk für mehrere Container

Vor ein paar Tagen wollte ich Docker Compose verwenden, um mehrere Container zu schreiben, die ein Containernetzwerk gemeinsam nutzen, aber ich bekam immer einen Fehler. Heute habe ich es erneut versucht und festgestellt, dass es durch das Portbindungsproblem verursacht wurde. Der Port kann nur an den Container gebunden werden, der die Netzwerkkarte generiert. Wenn er an andere Fenster gebunden ist, wird ein Fehler gemeldet. Im folgenden Code teilt der MySQL-Dienst die Nginx-Netzwerkkarte. Wenn Port:3306 in MySQL verwendet wird, kann er nicht ausgeführt werden. Verschieben Sie 3306 zu Nginx und starten Sie es erfolgreich.

Version: '3.3'
Leistungen:
nginx:
Bild: "lnp_php"
# Containername: "lnmp_nginx"
Häfen:
- "80:80"
- „443:443“
- „3306:3306“
exponieren:
- "3306"
Bände:
- /home/www/php:/home/www:rw
# hängt ab von:
# -mysql
# Links:
# -mysql
MySQL:
Bild: "mysql"
# Containername: "lnmp_mysql"
Anzahl der Anschlüsse:
# - "3306:3306"
# exponieren:
# - "3306"
Bände:
– /home/docker/conf/mysql_w:/etc/mysql:rw
Umfeld:
-MYSQL_ROOT_PASSWORD=123456
hängt ab von:
- nginx
Netzwerkmodus: "Dienst:nginx"

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-Compose - ausführliche Erklärung und Beispielcode
  • Detaillierte Schritte zur Installation und Einrichtung von Docker-compose
  • Detaillierte Beispiele zur Verwendung von Docker-Compose
  • Ubuntu 15.10 Installations-Docker und Docker-Compose-Tutorial
  • Verwenden Sie Docker-Compose, um eine AspNetCore-Entwicklungsumgebung zu erstellen
  • Eine kurze Diskussion über die Docker-Compose-Netzwerkeinstellungen
  • Eine kurze Analyse des Problems, dass MySQL bei der Bereitstellung mit Docker-Compose nicht zugänglich ist
  • Detaillierte Erläuterung zum Erreichen einer hohen Verfügbarkeit von Eureka durch Docker und Docker-Compose
  • So stellen Sie Gitlab mit Docker-Compose bereit
  • Detaillierte Erklärung der Softwarekonfiguration mit Docker-Compose unter Linux

<<:  Bootstrap FileInput implementiert Bild-Upload-Funktion

>>:  Zusammenfassung der MySQL-Injection-Bypass-Filtertechniken

Artikel empfehlen

Ist das Tag „li“ ein Blockelement?

Warum kann es die Höhe festlegen, aber im Gegensat...

Zusammenfassung der Vue-Datenreaktionsfähigkeit

Bevor wir über die Datenreaktivität sprechen, müs...

Wie füge ich ein Website-Symbol hinzu?

Der erste Schritt besteht darin, eine Software zur...

Beispiel für die Ausführung eines MySQL-Befehlszeilenskripts

Dieser Artikel veranschaulicht anhand eines Beisp...

Detaillierte Erklärung zur Verwendung des Grep-Befehls in Linux

1. Offizielle Einführung grep ist ein häufig verw...

Einführung in 10 Hooks in React

Inhaltsverzeichnis Was ist ReactHook? React biete...

JS asynchroner Code Unit-Test Magie Promise

Inhaltsverzeichnis Vorwort Verkettung von Verspre...

11 Linux-KDE-Anwendungen, die Sie nicht kannten

KDE Abkürzung für Kool Desktop Environment. Eine ...

Detaillierte Erklärung des Vue-Mixins

Inhaltsverzeichnis Lokales Mixin Globale Mixins Z...

Implementierung der Graustufenversion mit Nginx und Lua

Installieren Sie memcached yum install -y memcach...

Detaillierte Erklärung des JavaScript-Statuscontainers Redux

Inhaltsverzeichnis 1. Warum Redux 2. Redux-Datenf...

Zusammenfassung verschiedener Methoden zur JS-Datentyperkennung

Inhaltsverzeichnis Hintergrund Welche Methoden gi...