Hvordan skalere Docker -containere ved å bruke Nginx som belastningsbalanse og omvendt proxy

Hvordan skalere Docker -containere ved å bruke Nginx som belastningsbalanse og omvendt proxy
Docker -skalering er en av de essensielle funksjonene i Docker -plattformen. Det lar oss utføre forskjellige kopier eller kopier av Docker -containere eller tjenester i Docker Compose -kommandoen. Docker-Compose er en løsning som hjelper oss å administrere applikasjoner og mikroservices multi-container og mikroservices.

Når du skaleres enhver tjeneste i Docker -komponering, kan det vise konflikten at bindingsporten vil bli tildelt bare en tjeneste. Det er mange måter å løse det spesifiserte problemet på, men en belastningsbalanse er en av de mest effektive tilnærmingene for å håndtere trafikken fra forskjellige containere.

Denne bloggen vil demonstrere hvordan du skaleres en Docker -beholder ved hjelp av Nginx som en belastningsbalanse og omvendt proxy.

Hvordan skalere Docker -containere ved å bruke Nginx som belastningsbalanse og omvendt proxy?

Lastbalansen administrerer og distribuerer trafikken på serveren fra containere. Det øker påliteligheten, evnen og tilgjengeligheten av applikasjoner og tjenester. Når kopier av containere blir utført på samme nettverk over samme protokoll, kan det forårsake konflikt, for eksempel å utsette portfeil. For dette formålet kan en NGINX omvendt proxy eller belastningsbalanse brukes til å dele trafikken til skaleringstjenester ved hjelp av runde-robin eller andre ruteteknikker.

For å administrere skaleringstjenestene ved å bruke Nginx som en belastningsbalanse, gå gjennom instruksjonene.

Trinn 1: Lag DockerFile

Først må du lage en Dockerfile for å containerprogrammet. For dette formålet har vi spesifisert instruksjonene for å forankre "hoved-.gå”Golang -program:

Fra Golang: 1.8
Workdir/go/src/app
Kopier Main.gå .
Run Go Build -o Webserver .
INNGANGSPUNKT ["./Internett server"]

Trinn 2: Lag “Docker-Compose.yml ”-fil

Neste, lage en “Docker-Compose.yml”Fil og kopier de medfølgende instruksjonene i filen. Disse instruksjonene inneholder:

  • tjenester”Nøkkel for å konfigurere tjenesten. For eksempel har vi konfigurert "Web”Service og“nginx" service. Her, "nginx”Tjenesten fungerer som en belastningsbalanse for å administrere trafikken med å skalere“ Web ”-tjenesten.
  • bygge”Key demonstrerer at“ Web ”-tjenesten vil bruke DockerFile for å containerisere tjenesten.
  • Det er ikke nødvendig å gi den utsatte porten for "Web”Tjeneste som Nginx Load Balancer administrerer den.
  • Volum”Brukes til å binde“konf”Fil til containerstien:
  • kommer an på”Brukes for å bestemme avhengighetene mellom komponeringstjenester.
  • Porter”Brukes til å spesifisere NGINX -tjenesten som eksponerer port der skaleringstjenester administreres gjennom en viss ruteteknikk:
Versjon: "Alpine"
tjenester:
Web:
bygge: .
nginx:
Bilde: Nginx: Siste
Volum:
- ./nginx.Conf:/etc/nginx/nginx.Conf: Ro
kommer an på:
- Web
Porter:
- 8080: 8080

Trinn 3: Lag “Nginx.Conf ”-fil

Neste, lag en “nginx.konf”Fil å bruke“nginx”Som en belastningsbalanse og omvendt proxy. For dette formålet har vi spesifisert de listede instruksjonene i filen:

  • oppstrøms alle”Definerer oppstrømstjenestene. Her har vi definert “Web”Service forventes å eksponere på port 8080.
  • I “server"Brackets, vi har gitt Nginx Load Balancer lytteport"8080”Og definert fullmakten”http: // alle/”For å administrere oppstrømstjenesten:
bruker nginx;
arrangementer
WORKER_CONNECTIONS 1000;

http
oppstrøms alle
Server Web: 8080;

server
Lytt 8080;
plassering /
proxy_pass http: // all/;


Trinn 4: Skala tjenesten og skyte opp containerne

Neste skala og starte tjenesten ved å bruke "-skala”Alternativ med“Docker-Compose Up”Kommando. For eksempel har vi startet de to kopiene av “Web" service:

Docker -Compose Up -Sal Web = 2

Etter det, naviger Nginx -tjenesten og avslører porten og sjekk om dette godtar strømmen fra "Web”Service eller ikke. Oppdater siden for å veksle mellom utgangene fra skaleringstjenester eller kopier ved å bruke "nginx”Lastbalanse:

Dette handler om hvordan du skaleres en Docker -beholder ved hjelp av Nginx som en belastningsbalanse og omvendt proxy.

Konklusjon

For å skalere Docker -beholderen ved å bruke Nginx som en belastningsbalanse og omvendt proxy, konfigurer du først tjenestene i komponeringsfilen. Deretter lage en "nginx.konf”Fil og legg til instruksjoner for oppstrømstjenesten, lytteport av belastningsbalansen, og pass proxy til oppstrøms tjenesten. Etter det, spesifiser “nginx”Service i“Docker-Compose.yml”Fil som fungerer som en belastningsbalanse. Denne oppskrivningen har vist hvordan man skaler Docker-containere som bruker Nginx som en belastningsbalanse.