So skalieren Sie Docker -Container mit Nginx als Lastausgleich und Reverse -Proxy

So skalieren Sie Docker -Container mit Nginx als Lastausgleich und Reverse -Proxy
Docker Scaling ist eine der wesentlichen Merkmale der Docker -Plattform. Es ermöglicht uns, verschiedene Kopien oder Repliken von Docker -Containern oder Diensten im Befehl Docker Compose auszuführen. Docker-Compose ist eine Lösung, mit der wir Multi-Container-Anwendungen und Microservices verwalten können.

Während die Skalierung eines Dienstes in Docker komponiert wird, kann dies den Konflikt zeigen, dass der verbindliche Port nur einem Dienst zugewiesen wird. Es gibt viele Möglichkeiten, das angegebene Problem zu lösen, aber ein Lastausgleich ist einer der effektivsten Ansätze für die Verwaltung des Verkehrs aus verschiedenen Containern.

In diesem Blog wird demonstriert.

So skalieren Sie Docker -Container mit Nginx als Lastausgleich und Reverse -Proxy?

Der Load Balancer verwaltet und verteilt den Datenverkehr auf dem Server von Containern. Es erhöht die Zuverlässigkeit, Fähigkeit und Verfügbarkeit von Anwendungen und Diensten. Da die Repliken von Containern im selben Protokoll im selben Netzwerk ausgeführt werden, kann dies zu Konflikten führen, z. Zu diesem Zweck kann ein Nginx Reverse-Proxy oder ein Lastausgleich genutzt werden.

Um die Skalierungsdienste mithilfe von Nginx als Lastausgleicher zu verwalten, gehen Sie die Anweisungen durch.

Schritt 1: Machen Sie Dockerfile

Erstellen Sie zunächst eine Dockerfile, um das Programm zu konstruieren. Zu diesem Zweck haben wir die Anweisungen zur Dockerisierung der “angegeben“hauptsächlich.gehen”Golang -Programm:

Von golang: 1.8
WorkDir/Go/SRC/App
Hauptkopie.gehen .
Run Go Build -o -Webserver .
EINSTIEGSPUNKT ["./Webserver "]

Schritt 2: Erstellen Sie „Docker-Compose.YML -Datei

Als nächstes erstellen Sie eine “Docker-Compose.YMLDatei und kopieren Sie die angegebenen Anweisungen in die Datei. Diese Anweisungen enthalten:

  • DienstleistungenSchlüssel zum Konfigurieren des Dienstes. Zum Beispiel haben wir die “konfiguriert“Netz"Service und"nginx" Service. Hier das "nginx"Service fungiert als Lastausgleicher, um den Verkehr der Skalierung des" Web "-Dienstes zu verwalten.
  • bauen"Key zeigt, dass der" Web "-Dienst dockerfile verwendet wird, um den Dienst zu konstruieren.
  • Es besteht keine Notwendigkeit, den exponierenden Port für die “zur Verfügung zu stellen.“Netz"Service als Nginx Load Balancer verwaltet es.
  • Bände"Wird verwendet, um die" zu binden "ConfDatei zum Containerpfad:
  • kommt drauf an”Wird verwendet, um die Abhängigkeiten zwischen Kompose -Diensten zu bestimmen.
  • Häfen”Wird verwendet, um den Nginx -Dienst anzugeben, der Port ausgesetzt wird, bei dem Skalierungsdienste durch eine Routing -Technik verwaltet werden:
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: Machen Sie “nginx.conf ”Datei

Als nächstes machen Sie eine "nginx.Conf"Datei zu verwenden"nginx”Als Lastausgleicher und Rückwärtsbekämpfung. Zu diesem Zweck haben wir die aufgelisteten Anweisungen in der Datei angegeben:

  • stromaufwärts alle”Definiert die stromaufwärts gelegenen Dienste. Hier haben wir die "definiert"NetzDer Service wird voraussichtlich auf Port 8080 freigelegt.
  • Im "Server"Klammern, wir haben den Nginx Load Balancer -Höranschluss bereitgestellt"8080"Und definierte den Stellvertreter"http: // alle/”Um den Upstream -Dienst zu verwalten:
Benutzer nginx;
Veranstaltungen
Worker_Connections 1000;

http
stromaufwärts alle
Server -Web: 8080;

Server
Hören Sie 8080;
Standort /
proxy_pass http: // alle/;


Schritt 4: Skalieren Sie den Dienst und starten Sie die Container auf

Als nächstes skalieren und starten Sie den Dienst, indem Sie die “nutzen“-SkalaOption mit der “Docker-Compose Up" Befehl. Zum Beispiel haben wir die beiden Repliken der "begonnen"Netz" Service:

Docker -Compose Up -scale Web = 2

Navigieren Sie danach in den Nginx -Dienst, in dem der Port ausgesetzt ist, und prüfen Sie, ob dies den Stream von der “akzeptiertNetzService oder nicht. Aktualisieren Sie die Seite, um zwischen den Ausgängen von Skalierungsdiensten oder Replikationen mit der “zu wechselnnginx" Lastenausgleicher:

Hier geht es darum.

Abschluss

Konfigurieren Sie die Dienste in der Datei komponieren. Dann erstellen Sie eine “nginx.Conf”Datei und Anweisungen für den Upstream -Dienst, Höranschluss des Lastbalancers, und geben Sie den Proxy an den Dienst vor dem Dienst. Danach geben Sie das an “nginx"Service im"Docker-Compose.YMLDatei, die als Lastausgleich fungiert. Diese Beschreibung hat gezeigt, wie Docker-Container mit Nginx als Lastausgleichskala skaliert werden können.