In diesem Blog wird zeigen, wie Skalierung und Ladeausgleich in Docker Compose implementiert werden kann.
So skalieren Sie die Dienste in Docker Compose?
Skalierung in Docker bedeutet, Nachbildungen von Komponierungsdiensten oder Containern vorzunehmen. Diese Repliken werden auf dem Host verwaltet. Um die Skalierung in Docker Compose zu implementieren, gehen Sie die angegebenen Anweisungen durch.
Schritt 1: Dockerfile erzeugen
Generieren Sie eine Dockerfile, die den Golang Containerie “Main1.gehen" Programm. Fügen Sie zu diesem Zweck den bereitgestellten Code in die Datei ein:
Von golang: 1.8
WorkDir/Go/SRC/App
Main1 kopieren.gehen .
Run Go Build -o -Webserver .
Entdecken Sie 8080: 8080
EINSTIEGSPUNKT ["./Webserver "]
Schritt 2: Kompose -Datei generieren
Erstellen Sie als nächstes eine andere Datei mit dem Namen “Docker-Compose.YMLDatei und fügen Sie die folgenden Anweisungen ein:
Version: "Alpine"
Dienstleistungen:
Netz:
bauen: .
Häfen:
- 8080
Hier:
Alternativ können Benutzer die “zuweisen“Häfen"Wert im Bereich wie"80-83: 8080”. Dadurch werden die exponierenden Ports innerhalb des angegebenen Bereichs automatisch jedem Container oder Service zugewiesen.
Schritt 3: Starten Sie die Behälter auf
Als nächstes starten Sie die Behälter mit dem “Docker-Compose Up" Befehl. Um das zu replizieren “Netz"Service, nutzen Sie die"-Skala"Option zusammen mit dem"=Wert wie unten gezeigt:
Docker-compose up-scale web = 2
Schritt 4: LISTE COMPOSE Container
Listen Sie die Container komponieren und überprüfen Sie, ob die Skalierungsdienste ausführen oder nicht:
Docker -Compose ps -a
Sie können zwei Nachbildungen der “sehen“Netz"Service läuft weiter"61844" Und "61845”Lokale Host -Ports:
Zur Bestätigung navigieren Sie zu den zugewiesenen Ports des lokalen Hosts und überprüfen Sie, ob der Dienst ausgeführt wird oder nicht.
Es kann beobachtet werden, dass das “NetzDer Service wurde erfolgreich auf zugewiesenen Ports ausgeführt:
So implementieren Sie Lastausgleich in Docker Compose?
Der Load Balancer ist eine der besten Lösungen für die Verwaltung des Datenverkehrs von verschiedenen Containern oder Clients auf dem Server. Es erhöht die Zuverlässigkeit und Verfügbarkeit von Anwendungen und Dienstleistungen. Im Backend werden unterschiedliche Routing -Kriterien verwendet, um die Multi -Container -Anwendungen wie Round Robin zu verwalten.
Verwenden Sie die angegebenen Anweisungen zur Implementierung der Lastausgleichstechnik für Komponierungsdienste.
Schritt 1: Erstellen Sie “nginx.conf ”Datei
Erstelle ein "nginx.ConfDatei Datei und fügen Sie den folgenden Code in die Datei ein. Diese Anweisungen umfassen:
Benutzer nginx;
Veranstaltungen
Worker_Connections 1000;
http
stromaufwärts alle
Server -Web: 8080;
Server
Hören Sie 8080;
Standort /
proxy_pass http: // alle/;
Schritt 2: Konfigurieren Sie den Nginx-Service für den Ladeausgleich in „Docker-Compose.YML -Datei
Konfigurieren Sie als Nächstes den Lastausgleich ““nginx"Service im"Docker-Compose" Datei. Zu diesem Zweck haben wir die folgenden Schlüssel angegeben:
Version: "Alpine"
Dienstleistungen:
Netz:
bauen: .
nginx:
Bild: Nginx: Neueste
Bände:
- ./nginx.conf:/etc/nginx/nginx.Conf: Ro
kommt drauf an:
- Netz
Häfen:
- 8080: 8080
Schritt 3: Ausführen von Containern ausführen
Führen Sie nun den Kompose -Container zusammen mit dem “aus-SkalaOption zur Ausführung der Webdienst -Replikate:
Docker-compose up-scale web = 2
Hier werden diese Webdienste -Repliken im Last -Balancer -Service verwaltet “nginx”:
Navigieren Sie durch den Höranschluss der “nginx”Service und überprüfen Sie, ob der Lastbilanz die beiden Container des Webdienstes auf demselben Port verwaltet oder nicht. Aktualisieren Sie die Seite, um zum zweiten Container zu wechseln, und aktualisieren Sie die Seite erneut, um zum ersten Container zu wechseln:
Hier dreht sich alles um Docker Compose Lastausgleich und Skalierung.
Abschluss
Lastausgleich und Skalierung sind Techniken, um die Verfügbarkeit und Zuverlässigkeit der Anwendung zu erhöhen. Die Docker -Skalierung generiert die Replikate bestimmter Dienste und laden Balancer -Balance oder verwaltet den Datenverkehr zu und von verschiedenen Containern auf dem Server. Zu diesem Zweck haben wir verwendet “nginx”Als Lastausgleicher. Dieser Blog hat demonstriert, dass Docker Lastausgleich und Skalierung komponieren.