Come ridimensionare i contenitori Docker usando NGINX come bilanciamento del carico e proxy inverso

Come ridimensionare i contenitori Docker usando NGINX come bilanciamento del carico e proxy inverso
Il ridimensionamento Docker è una delle caratteristiche essenziali della piattaforma Docker. Ci consente di eseguire diverse copie o repliche di contenitori o servizi Docker nel comando Docker Compose. Docker-compose è una soluzione che ci aiuta a gestire applicazioni e microservizi multi-container.

Durante il ridimensionamento di qualsiasi servizio in Docker Compose, può mostrare al conflitto che la porta vincolante verrà assegnata a un solo servizio. Esistono molti modi per risolvere il problema specificato, ma un bilanciamento del carico è uno degli approcci più efficaci per gestire il traffico da diversi contenitori.

Questo blog dimostrerà come ridimensionare un contenitore Docker usando NGINX come bilanciamento del carico e proxy inverso.

Come ridimensionare i contenitori Docker usando NGINX come bilanciamento del carico e proxy inverso?

Il bilanciamento del carico gestisce e distribuisce il traffico sul server dai contenitori. Aumenta l'affidabilità, la capacità e la disponibilità di applicazioni e servizi. Poiché le repliche di contenitori vengono eseguite sulla stessa rete rispetto allo stesso protocollo, che possono causare conflitti, come l'esposizione degli errori della porta. A tale scopo, un proxy inverso NGINX o un bilanciamento del carico può essere utilizzato per dividere il traffico dei servizi di ridimensionamento utilizzando round-robin o altre tecniche di routing.

Per gestire i servizi di ridimensionamento utilizzando NGINX come bilanciamento del carico, passare attraverso le istruzioni.

Passaggio 1: crea Dockerfile

Innanzitutto, crea un fikerfile per containerizzare il programma. A tal fine, abbiamo specificato le istruzioni per dockerizzare il "principale.andare"Programma Golang:

Da golang: 1.8
Workdir/go/src/app
Copia principale.andare .
Esegui GO Build -O Webserver .
PUNTO D'ENTRATA ["./server web"]

Passaggio 2: creare “docker-compone.File YML "

Successivamente, crea un "docker-compose.YML"File e copiare le istruzioni fornite nel file. Queste istruzioni contengono:

  • "Servizi"Chiave per configurare il servizio. Ad esempio, abbiamo configurato il "ragnatela"Servizio e"nginx" servizio. Qui, il "nginx"Il servizio funge da bilanciamento del carico per gestire il traffico di ridimensionamento del servizio" Web ".
  • "costruire"La chiave dimostra che il servizio" Web "utilizzerà Dockerfile per containerizzare il servizio.
  • Non è necessario fornire la porta di esposizione al "ragnatela"Servizio come il bilanciamento del carico Nginx lo gestisce.
  • "volumi"È usato per legare il"conf"File sul percorso del contenitore:
  • "dipende da"Viene utilizzato per determinare le dipendenze tra i servizi di composizione.
  • "porti"Viene utilizzato per specificare il servizio NGINX che espongono la porta in cui i servizi di ridimensionamento sono gestiti tramite alcune tecniche di routing:
Versione: "Alpine"
Servizi:
ragnatela:
costruire: .
nginx:
Immagine: nginx: ultimo
Volumi:
- ./nginx.conf:/etc/nginx/nginx.conf: ro
dipende da:
- ragnatela
Porte:
- 8080: 8080

Passaggio 3: fare “nginx.FILE CONF ”

Successivamente, fai un "nginx.conf"File da usare"nginx"Come bilanciamento del carico e proxy inverso. A tale scopo, abbiamo specificato le istruzioni elencate nel file:

  • "tutto a monte"Definisce i servizi a monte. Qui, abbiamo definito il "ragnatela"Servizio che dovrebbe esporre sulla porta 8080.
  • Nel "server"Staffe, abbiamo fornito la porta di ascolto del bilanciamento del carico Nginx"8080"E ha definito il proxy"http: // all/"Per gestire il servizio a monte:
utente nginx;
eventi
worker_connections 1000;

http
a monte tutto
Server Web: 8080;

server
Ascolta 8080;
posizione /
proxy_pass http: // all/;


Passaggio 4: ridimensionare il servizio e accendere i contenitori

Successivamente, scala e avvia il servizio utilizzando il “-scalaOpzione "con la"Docker-Opse Up"Comando. Ad esempio, abbiamo iniziato le due repliche del "ragnatela" servizio:

Docker -Opse Up -Scale Web = 2

Successivamente, navigare nel servizio NGINX che espone la porta e verifica se questo accetta il flusso dal "ragnatela"Servizio o no. Aggiorna la pagina per passare tra le uscite dei servizi di ridimensionamento o delle repliche utilizzando "nginx"Bilancante carico:

Questo è tutto su come ridimensionare un contenitore Docker usando NGINX come bilanciamento del carico e proxy inverso.

Conclusione

Per ridimensionare il contenitore Docker utilizzando NGINX come bilanciamento del carico e proxy inverso, configura prima i servizi nel file di compose. Quindi, crea un "nginx.conf"File e aggiungi le istruzioni per il servizio a monte, la porta di ascolto del bilanciamento del carico e passare il proxy per a monte del servizio. Successivamente, specificare il "nginx"Servizio nel"docker-compose.YML"File che funge da bilanciamento del carico. Questo articolo ha dimostrato come ridimensionare i contenitori Docker usando Nginx come bilanciamento del carico.