Cómo escalar los servicios en Docker Compose

Cómo escalar los servicios en Docker Compose
Docker Compose es una herramienta central de Docker que se utiliza para procesar y administrar múltiples aplicaciones y microservicios de contenedores. Esta herramienta se utiliza para configurar los servicios de software y aplicaciones en el "Yaml" archivo. Docker Compose proporciona varias funcionalidades clave para admitir contenedores y la escala de Docker Services es una de ellas.

Escalado de Docker significa escalar o crear réplicas de uno o más servicios. Estas réplicas se pueden usar para probar, compartir y ejecutar el mismo servicio en diferentes contenedores. En Docker Compose, puede usar el "-escala"Bandera junto con el"Docker-compuesto"Comando para iniciar números especificados de réplicas de un servicio en particular.

Este artículo ilustrará cómo escalar el servicio en Docker Compose.

Cómo escalar los servicios en Docker Compose?

Para escalar los servicios en Docker, componer, primero, especifique el servicio en el archivo de composición. Luego, escala y comience el servicio utilizando el "-escalaOpción "junto con el"Docker-compuesto" dominio.

Mientras escalaba el servicio, la mayoría de los usuarios obtuvieron el error iluminado a continuación:

Este error ocurre porque los usuarios intentan ejecutar diferentes réplicas de escala en el mismo puerto. Mientras especifica el número de puertos en composición, asigne múltiples puertos o permita que Docker asigne que exponga los puertos automáticamente. Para ver la explicación, consulte los pasos dados.

Paso 1: crea el archivo Docker
Primero, cree un DockerFile y pegue el bloque de código mencionado en el archivo. Estas instrucciones se utilizarán para configurar el programa "Golang" en Docker Compose:

De Golang: 1.8
WorkDir/Go/SRC/App
Copia principal.ir .
Ejecutar ir compilación -o servidor web .
Exponer 8080: 8080
PUNTO DE ENTRADA ["./Servidor web"]

Paso 2: hacer un archivo de composición
A continuación, cree un "compuesto de acopolador.YML"Archivo que tiene las siguientes instrucciones:

  • "servicios"Especifique el servicio de composición. Por ejemplo, hemos definido el "web"Servicio en el"compuesto de acopolador.YML" archivo.
  • "construirLa clave "leerá instrucciones del archivo Docker para configurar el servicio" web "en el contenedor de composición.
  • "puerto"Define los puertos de exponer. En el siguiente código, hemos establecido "8080: 8080"Como el puerto de exposición. Pero el problema con este puerto es que solo puede ejecutar un servicio en el puerto "8080"Y muestre el error mencionado anteriormente de las réplicas:
Versión: "Alpine"
servicios:
web:
construir: .
Puertos:
- 8080: 8080

Para resolver este error, puede especificar el valor del puerto en el rango, como "80-85: 8080"O simplemente definir"8080"Y deja que el Docker decida sobre qué contenedor de puerto se ejecutará:

Paso 3: Escala el servicio de composición
A continuación, escala el servicio para ejecutar réplicas en un contenedor diferente. Para este propósito, utilice la opción "-Scale" y establezca su valor como "=":

> Docker-Compose up --scale Web = 2

Para la verificación, enumere el contenedor de composición con el comando mencionado. Aquí, puede ver que hemos ejecutado con éxito las dos réplicas en los puertos "61844" y "61845"Asignado por Docker:

> Docker -Compose PS -A

Para la confirmación, navegue al puerto asignado del contenedor y verifique si el servicio se está ejecutando o no. Para este propósito, primero, hemos navegado al "61844" puerto:

Aquí, puede ver que nuestro servicio de escala se ha ejecutado con éxito en diferentes puertos:

Eso se trata de cómo escalar los servicios en Docker Compose.

Conclusión

Para escalar el servicio en la composición, primero, configure el servicio Docker en el "compuesto de acopolador.YML" archivo. Luego, escala el servicio usando "-escala"Con el valor"=" en el "Docker-compuesto" dominio. Este artículo ha demostrado cómo escalar el servicio en Docker Compose.