Docker verwendet ein einzelnes Image zum Zuordnen zu mehreren Ports

Docker verwendet ein einzelnes Image zum Zuordnen zu mehreren Ports

brauchen:

Der Ressourcenserver der offiziellen Website kann sicherlich nicht eine Instanz verwenden, er benötigt mehrere Instanzen zusammen, aber wenn er weiter kopiert, ist er zu langsam. Ich frage mich, ob ich das Docker-Image direkt verwenden kann, um mehrere identische Containerinstanzen zu erstellen.

Zwei docker-compose.yml-Dateien

Version: '3'
Leistungen:
 Mikro-HCNet-Website-13:
  Bild: 172.18.0.1:5000/hcnet-website-12:0.0.1-SNAPSHOT
  Neustart: bei Fehler
  Häfen:
  -8311:8211
~
Version: '3'
Leistungen:
 Mikro-HCNet-Website-13:
  Bild: 172.18.0.1:5000/hcnet-website-12:0.0.1-SNAPSHOT
  Neustart: bei Fehler
  Häfen:
  -8211:8211
~

Nach der Ausführung von docker-compse.yml

Normalen Start anzeigen

Container anzeigen

Erfolg kartieren

Abschließend Konsul prüfen

Tatsächlich handelt es sich bei allen um dieselbe Mapping-Schnittstelle.

Zusatzwissen: Erste Schritte mit Docker - Mehrere Container erstellen (Docker-Compose)

Das gleichzeitige Starten mehrerer Dienste (Container) erleichtert unseren Betrieb in der Produktionspraxis

Nehmen Sie als Beispiel den Haproy-Lastausgleichsdienst für Apache und Nginx

Multi-Container-Anwendung von Docker durch Compose

Compose ist eine Docker-Anwendung, mit der Benutzer mehrere Container definieren und ausführen können. In Compose können Sie YAML-Dateien verwenden, um Ihre Anwendungsdienste zu konfigurieren. Anschließend werden mit nur einem einfachen Befehl alle von Ihnen konfigurierten Dienste erstellt und gestartet.

Die Verwendung von Compose umfasst grundsätzlich die folgenden drei Schritte:

Definieren Sie Ihre Anwendungsumgebung in einer Docker-Datei, um sie überall replizieren zu können.

Definieren Sie die Dienste, aus denen Ihre Anwendung besteht, in docker-compose.yml, damit sie in isolierten Umgebungen zusammen ausgeführt werden können.

Führen Sie abschließend docker-compose up aus. Compose startet und führt die gesamte Anwendung aus.

1. Bearbeiten Sie die Datei docker-compose.yml, um mehrere Bilder anzugeben

apache: # Apache-Dienstabbild: rhel7:v1 # Name des übergeordneten Abbilds offenlegen:
        - 80 # Port-Volumes verfügbar machen: # Volume mounten - ./web/:/var/www/html

nginx: # nginx serviceimage: nginx # übergeordnetes Imageexpose:    
        - 80 # Port haproxy freigeben: # haproxy-Dienstimage: haproxy # Übergeordnetes Image-Volume: # Volume mounten - ./haproxy:/usr/local/etc/haproxy
    links: # Zugehöriger Container - Apache
        - nginx
    Ports: #Portzuordnung - "8080:80"
    expose: # Freigelegter Service-Port – 80

2. Bearbeiten Sie die Haproxy-Konfigurationsdatei

global # Globale Konfiguration, Protokollinformationen log 127.0.0.1 local0
    Protokoll 127.0.0.1 local1 Hinweis
Vorgabewerte
    globales Protokoll
    Option httplog
    Option dontlognull
    Timeout beim Verbinden: 5000 ms
    Timeout-Client 50000 ms
    Timeout-Server 50000ms
    Statistik-URI/Status
Frontend-Balancer
    bind 0.0.0.0:80 # Abhörport default_backend web_backends # Standard-Backend backend web_backends
    Rundenturnier
    server weba apache:80 check # Das Backend a apache entspricht dem Inhalt in den Links in der .yml-Datei server webb nginx:80 check

Prüfen Sie, ob die erforderlichen Unterlagen ausreichen

[root@foundation21 verfassen]# ls
docker-compose.yml Haproxy Web
[root@foundation21 verfassen]# pwd
/tmp/docker/komponieren
# Dateizugehörigkeit anzeigen [root@foundation21 compose]# tree
.
├── docker-compose.yml
├── Haproxy
│ └── haproxy.cfg
└── Internet
  └── index.html

2 Verzeichnisse, 3 Dateien

Führen Sie den Befehl docker-compose up im Verzeichnis cmopose aus, um mehrere Images gleichzeitig zu starten

So zeigen Sie es in einem Browser an:

haproxy implementiert Lastenausgleich für Backend-Webserver

Der obige Docker verwendet ein einzelnes Image, um mehrere Ports abzubilden. Dies ist der gesamte Inhalt, den der Editor mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen.

Das könnte Sie auch interessieren:
  • Docker-Dateispeicherpfad, Port-Mapping-Betriebsmodus ändern
  • Konfiguration der primären Netzwerk-Portzuordnung für Docker
  • So ändern Sie die Portzuordnung eines laufenden Docker-Containers
  • So ändern Sie die Container-Portzuordnung in Docker dynamisch
  • Docker-Port-Mapping und externe Unzugänglichkeitsprobleme
  • Fehlerbehebungsprozess für Docker-Container, bei dem nach der Portzuordnung plötzlich keine Verbindung mehr hergestellt werden kann
  • Fügen Sie die Portzuordnung hinzu, nachdem der Docker-Container gestartet wurde
  • Docker ermöglicht mehrere Port-Mapping-Befehle

<<:  Detaillierte Analyse der Auswahl des MySQL-Gemeinschaftsindex und des eindeutigen Index

>>:  Die Lösung von html2canvas, dass Bilder nicht normal erfasst werden können

Artikel empfehlen

Websocket+Vuex implementiert eine Echtzeit-Chat-Software

Inhaltsverzeichnis Vorwort 1. Der Effekt ist wie ...

Detaillierte Erklärung der Datentypen in den JavaScript-Grundlagen

Inhaltsverzeichnis 1. Datentyp 1.1 Warum brauchen...

Fallstudie zum Zusammenführen von JavaScript-Arrays

Methode 1: var a = [1,2,3]; var b=[4,5] a = a.con...

Detaillierte Erläuterung der Verwendung von MySQL Explain (Analyseindex)

EXPLAIN zeigt, wie MySQL Indizes verwendet, um Au...

HTML Tutorial: Sammlung häufig verwendeter HTML-Tags (4)

Diese eingeführten HTML-Tags entsprechen nicht un...

Beispielcode zum Implementieren schöner Uhranimationseffekte mit CSS

Ich suche einen Job!!! Vorbereitung: Zunächst ein...

So wählen Sie zwischen MySQL CHAR und VARCHAR

Inhaltsverzeichnis VARCHAR- und CHAR-Typen Abschl...

Ein kurzer Vergleich von Props in React

Inhaltsverzeichnis Props-Vergleich von Klassenkom...

Das native VIDEO-Tag der HTML-Seite verbirgt die Download-Button-Funktion

Beim Schreiben eines Webprojekts stieß ich auf ei...

Detaillierte Erklärung des VUE-Reaktionsprinzips

Inhaltsverzeichnis 1. Grundlage des Responsive-Pr...

Installieren Sie MySQL 5.7.18 mit dem RPM-Paket unter CentOS 7

Ich habe kürzlich MySQL verwendet. Im Artikel „My...

Lösung für FEHLER 1054 (42S22) beim Ändern des Passworts in MySQL 5.7

Ich habe MySQL 5.7 neu installiert. Beim Anmelden...

Vollständiger Schrittbericht der TabBar-Komponente der Vue-Kapselung

Inhaltsverzeichnis Umsetzungsideen: Schritt 1: Ko...