Implementieren Sie den Nginx-Lastausgleich basierend auf Docker-Netzwerkverwaltung und Container-IP-Einstellungen Alle Docker-Netzwerke anzeigen Docker-Netzwerk ls /* NETZWERK-ID-NAME TREIBER-UMFANG b832b168ca9a Brücke Brücke lokal 373be82d3a6a composetest_default Brücke lokal a360425082c4 Host Host lokal 154f600f0e90 keine null lokal */ // composetest_default ist der Verzeichnisname, in dem sich die Datei docker-compose.yml bei der Einführung von Compose im vorherigen Artikel befindet. // Daher erstellt der mit Docker-Compose erstellte Container standardmäßig ein Netzwerk mit dem Verzeichnisnamen als Netzwerknamen und ist vom Typ Dridge (Bridge). Angeben der Container-IP-Adresse Offizielle Website-Dokumentadresse: https://docs.docker.com/compose/compose-file/#ipv4_address-ipv6_address Fahren Sie mit dem Schreiben der Datei docker-compose.yml aus dem vorherigen Artikel „12. Verwenden des Docker Compose Container Orchestration Tools“ fort. Version: "3" Leistungen: web1: Containername: web1 Bild: "centos:httpd" Häfen: - „8080:80“ privilegiert: wahr Bände: - "/app/www/web1/:/var/www/html/" Befehl: ['/usr/sbin/init'] Netzwerke: nginx-lsb: IPv4-Adresse: 192.169.0.3 web2: Containername: web2 Bild: "centos:httpd" Häfen: - „8081:80“ privilegiert: wahr Bände: - "/app/www/web2/:/var/www/html/" Befehl: ['/usr/sbin/init'] Netzwerke: nginx-lsb: IPv4-Adresse: 192.169.0.2 Netzwerke: nginx-lsb: Treiber: Brücke ipam: Konfiguration: - Subnetz: 192.169.0.0/16 Starten Sie den Container mit Docker-Compose docker-compose up -d Überprüfen Sie, ob der Container gestartet ist und ob das Netzwerk nginx-lsb erstellt wurde // Sie können den Containerstatus in der Containergruppe anzeigen, die durch die aktuelle Datei docker-compose.yml konfiguriert wurde docker-compose ps Docker-Netzwerk ls /* NETZWERK-ID-NAME TREIBER-UMFANG b832b168ca9a Brücke Brücke lokal 373be82d3a6a composetest_default Brücke lokal de6f5b8df1c8 composetest_nginx-lsb Brücke lokal a360425082c4 Host Host lokal 154f600f0e90 keine null lokal */ // Erstellt das nginx-lsb-Netzwerk, benannt nach dem Anfang der Containergruppe Projektdateiname_Netzwerkname Netzwerk-nginx-lsb-Details anzeigen Docker-Netzwerk überprüfen Composetest_nginx-lsb // In den Details können Sie die IP-Adresse jedes Containers sehen, der dieses Netzwerk verwendet. wie: /* ... "Container": { "039aa860ef04f20a7566fdc943fb4398a61d2ad6dd3e373b17c86ac778af89e3": { "Name": "web2", "EndpointID": "1bc206661179e65999015f132c2889d3d4365b8d42b8a89cf9c260016fedd5ee", "MacAdresse": "02:42:c0:a9:00:02", "IPv4Adresse": "192.169.0.2/16", "IPv6Adresse": "" }, "437ad7a07da8e46c0abaf845c4b08425338009fbe972bde69478cf47c75c315b": { "Name": "web1", "EndpointID": "5a36e602a5364ee9ad06e9816d09e3966d56ebf06b9394ebc25b8bcee9546607", "MacAdresse": "02:42:c0:a9:00:03", "IPv4Adresse": "192.169.0.3/16", "IPv6Adresse": "" } }, ... */ Verwenden Sie die Umgebungsdatei env_file: Es kann einfach so verstanden werden: Definieren Sie Variablen in docker-compose.yml und referenzieren Sie sie in externen .env-Dateien Offizielle Dokumentationsadresse: https://docs.docker.com/compose/compose-file/#env_file // Oder definieren Sie eine .env-Datei im Verzeichnis „composetest“, um die Variable „web1_addr=192.169.0.2“ zu speichern. web2_addr=192.169.0.3 //Ändern Sie die Datei docker-compose.yml und fügen Sie die Variablendefinitionsversion hinzu: „3“ Leistungen: web1: Containername: web1 Bild: "centos:httpd" Häfen: - „8080:80“ privilegiert: wahr Bände: - "/app/www/web1/:/var/www/html/" Befehl: ['/usr/sbin/init'] Netzwerke: nginx-lsb: IPv4-Adresse: ${web1_addr} web2: Containername: web2 Bild: "centos:httpd" Häfen: - „8081:80“ privilegiert: wahr Bände: - "/app/www/web2/:/var/www/html/" Befehl: ['/usr/sbin/init'] Netzwerke: nginx-lsb: IPv4-Adresse: ${web2_addr} Netzwerke: nginx-lsb: Treiber: Brücke ipam: Konfiguration: - Subnetz: 192.169.0.0/16 Starten Sie das Composetest-Projekt neu und überprüfen Sie die Netzwerkdetails, um zu bestätigen, ob die Container-IP erfolgreich festgelegt wurde // Starten Sie das Composetest-Projekt neu docker-compose up -d // Netzwerkdetails anzeigen Docker-Netzwerk überprüfen Composetest_nginx-lsb Fügen Sie im Composetest-Projekt einen Nginx-Server als Lastenausgleichsserver hinzu // Fügen Sie der .env-Datei eine Variable nginx_lsb hinzu web1_addr=192.169.0.2 web2_addr=192.169.0.3 nginx_lsb=192.169.0.100 //Ändern Sie die Datei docker-compose.yml und fügen Sie die Variablendefinitionsversion hinzu: „3“ Leistungen: nginx-lsb: Containername: nginx-lsb Bild: „centos:nginx“ Häfen: - "8000:80" privilegiert: wahr Bände: – „/app/nginx/nginx.conf:/etc/nginx/nginx.conf“ Netzwerke: nginx-lsb: IPv4-Adresse: ${nginx_lsb} web1: Containername: web1 Bild: "centos:httpd" Häfen: - „8080:80“ privilegiert: wahr Bände: - "/app/www/web1/:/var/www/html/" Befehl: ['/usr/sbin/init'] Netzwerke: nginx-lsb: IPv4-Adresse: ${web1_addr} web2: Containername: web2 Bild: "centos:httpd" Häfen: - „8081:80“ privilegiert: wahr Bände: - "/app/www/web2/:/var/www/html/" Befehl: ['/usr/sbin/init'] Netzwerke: nginx-lsb: IPv4-Adresse: ${web2_addr} Netzwerke: nginx-lsb: Treiber: Brücke ipam: Konfiguration: - Subnetz: 192.169.0.0/16 // Starten Sie das Composetest-Projekt neu docker-compose up -d Ändern Sie die Konfigurationsdatei nginx.conf und konfigurieren Sie den Lastenausgleich upstream meinDocker { Server 192.169.0.2; Server 192.169.0.3; } Server { hören Sie 80; Servername mydocker; Standort / { Proxy_Set_Header Host $host; Proxy_Set_Header X-Real-IP $Remote_Addr; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; Proxy-Pufferung aus; Proxy-Passwort http://mydocker; } } Starten Sie nginx-lsb neu und laden Sie die Konfigurationsdatei Docker-Composer startet Nginx-LSB neu Besuchen Sie http://Server-IP-Adresse:8000, um den Server-Lastausgleich zu testen! Hinweis: Im vorherigen Artikel wurden verschiedene Webdateien auf zwei httpd-Servern abgelegt. 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:
|
<<: JavaScript zum Erzielen eines Taobao-Produktbild-Umschalteffekts
>>: Detaillierte Erklärung des Ausführungskontexts und des Aufrufstapels in JavaScript
Dieses Tutorial stellt die Anwendung verschiedene...
Vorgang 1: mit Rückgabewert: Prozedur löschen, fa...
<!--[if IE 6]> Nur IE6 kann erkennen <![e...
Inhaltsverzeichnis Blasensortierung Auswahl Sorti...
Inhaltsverzeichnis 1. Komponenteneinführung 2. Qu...
Inhaltsverzeichnis Dropdown-Feld zur Mehrfachausw...
In diesem Artikelbeispiel wird der spezifische Ja...
Docker virtualisiert eine Brücke auf dem Host-Rec...
In diesem Artikel wird der spezifische JS-Code zu...
Die dekomprimierte Version von mysql5.7.18 starte...
Inhaltsverzeichnis Vorwort 1. Was ist Selen? 2. N...
Inhaltsverzeichnis Vorwort Lösung Tool-Einführung...
Heute habe ich eine Frage zur Konfiguration einer...
In diesem Artikelbeispiel wird der spezifische Co...
Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...