Al escalar cualquier servicio en Docker Compose, puede mostrar el conflicto de que el puerto vinculante se asignará a un solo servicio. Hay muchas formas de resolver el problema especificado, pero un equilibrador de carga es uno de los enfoques más efectivos para administrar el tráfico desde diferentes contenedores.
Este blog demostrará cómo escalar un contenedor Docker utilizando NGINX como un equilibrador de carga y proxy inverso.
Cómo escalar los contenedores Docker utilizando NGINX como equilibrador de carga y proxy inverso?
El equilibrador de carga administra y distribuye el tráfico en el servidor desde contenedores. Aumenta la confiabilidad, capacidad y disponibilidad de aplicaciones y servicios. Como las réplicas de contenedores se ejecutan en la misma red sobre el mismo protocolo, que pueden causar conflictos, como exponer errores portuarios. Para este propósito, se puede utilizar un proxy inverso de Nginx o un equilibrador de carga para dividir el tráfico de los servicios de escala utilizando round-robin u otras técnicas de enrutamiento.
Para administrar los servicios de escala utilizando NGINX como equilibrador de carga, revise las instrucciones.
Paso 1: hacer Dockerfile
Primero, cree un DockerFile para contener el programa. Para este propósito, hemos especificado las instrucciones para dockerizar el "principal.irPrograma de Golang:
De Golang: 1.8Paso 2: Crear "Docker-Compose.archivo YML "
A continuación, cree un "compuesto de acopolador.YML"Archivo y copie las instrucciones proporcionadas en el archivo. Estas instrucciones contienen:
Paso 3: hacer "nginx.archivo conf ”
A continuación, haz un "nginx.confusión"Archivo para usar"nginx"Como equilibrador de carga y proxy inverso. Para este propósito, hemos especificado las instrucciones enumeradas en el archivo:
Paso 4: Escala el servicio y enciende los contenedores
A continuación, escala y comience el servicio utilizando el "-escalaOpción "con el"Docker-compuesto" dominio. Por ejemplo, hemos comenzado las dos réplicas del "web" servicio:
Docker -compuesto up -scale web = 2
Después de eso, navegue por el servicio Nginx que exponga el puerto y verifique si esto está aceptando la transmisión del "web"Servicio o no. Actualice la página para cambiar entre las salidas de servicios de escala o réplicas utilizando el "nginxBalancador de carga:
Esto se trata de cómo escalar un contenedor Docker usando NGINX como un equilibrador de carga y proxy inverso.
Conclusión
Para escalar el contenedor Docker utilizando el Nginx como un equilibrador de carga y un proxy inverso, primero configure los servicios en el archivo de composición. Entonces, crea un "nginx.confusión"Archivo y agregue instrucciones para el servicio ascendente, el puerto de escucha del equilibrador de carga, y pase el proxy para ascender el servicio. Después de eso, especifique el "nginx"Servicio en el"compuesto de acopolador.YML"Archivo que actúa como un equilibrador de carga. Este artículo ha demostrado cómo escalar contenedores Docker utilizando NGINX como equilibrador de carga.