Este blog ilustrará cómo exponer e implementar múltiples aplicaciones de contenedores en el mismo puerto utilizando el equilibrio de carga.
Cómo exponer múltiples aplicaciones de contenedores en el mismo puerto con equilibrio de carga?
El equilibrio de carga o el proxy inverso es una técnica para distribuir el tráfico de diferentes contenedores en un servidor. El equilibrio de carga puede usar diferentes algoritmos de enrutamiento, como el algoritmo de round robin, para asignar el tiempo de correo no deseado para ejecutar el primer contenedor, luego el segundo contenedor, y nuevamente vuelva al primer contenedor, y así sucesivamente. Esto puede aumentar la disponibilidad, capacidad y confiabilidad de la aplicación.
Para la ilustración, utilice el procedimiento mencionado.
Paso 1: Crea DockerFile
Primero, cree un DockerFile para contener la aplicación. Por ejemplo, hemos definido las instrucciones para contener el "principal.ir"Aplicación:
De Golang: 1.8Aquí tenemos dos diferentes "principal.ir"Programas en dos directorios diferentes. En nuestro escenario, el primer programa utilizará DockerFile para configurar el servicio:
El segundo programa también tiene el mismo dockerfile en su directorio. Usando este archivo, hemos creado la nueva imagen de Docker "GO1-IMAGE"Eso se utilizará para configurar el segundo servicio en el archivo de composición. Para crear o construir la imagen, puede revisar nuestro artículo asociado:
Paso 2: Crear archivo de composición
A continuación, cree un archivo de composición llamado "compuesto de acopolador.YML"Archivo que contiene las siguientes instrucciones:
Paso 3: Crear "Nginx.archivo conf ”
Después de eso, cree el "nginx.confusión"Archivo y configure los servicios ascendentes, el puerto de escucha del equilibrador de carga y defina el proxy"http: // all/"Para administrar los servicios ascendentes:
usuario nginx;Paso 4: enciende los contenedores
Ejecutar el "Docker-compuesto"Comando para encender los servicios en contenedores separados. Aquí "-escala"La opción se usa para generar las dos réplicas del primero o"web" servicio:
Docker -compuesto up -scale web = 2
Para la verificación, vaya al puerto de exposición del "nginx"Contenedor de servicio y verifique si está aceptando la transmisión de los servicios especificados o no:
Desde la salida dada anteriormente, se puede observar que hemos ejecutado con éxito múltiples contenedores o servicios en el mismo puerto.
Conclusión
Para ejecutar o exponer las múltiples aplicaciones de contenedores en el mismo puerto utilizando un equilibrador de carga/proxy inverso, primero, cree un "nginx.confusión"Archivo para configurar las configuraciones de Balancer de carga, como servicios ascendentes, puertos de escucha y proxy para aguas arriba del servicio. Luego, configure el servicio de equilibrio de carga en el archivo de composición. Este blog ha demostrado cómo exponer y ejecutar múltiples contenedores o servicios en el mismo puerto.