Docker compose es una utilidad/herramienta que se utiliza para crear y ejecutar aplicaciones que constan de varios contenedores. Utiliza archivos YAML para configurar servicios de aplicaciones. A docker-compose.yml El archivo es un archivo de configuración que define cómo varios contenedores de Docker pueden funcionar juntos como un solo servicio. Puede iniciar todos los servicios con un solo “ docker-compose up 'comando así como detener todos los servicios usando un solo' docker-componer abajo ' dominio. Además, también se puede utilizar para escalar servicios seleccionados cuando sea necesario.
Este artículo explicará:
¿Cuál es el propósito de un archivo docker-compose.yml en Docker?
El objetivo principal de un “ docker-compose.yml ” es para simplificar el proceso de implementación y administración de aplicaciones Docker de múltiples contenedores. También se utiliza para fines adicionales, tales como:
-
- Iniciar y detener varios contenedores a la vez.
- Especificación de dependencias de contenedores.
- Definición y gestión de conexiones de red entre contenedores.
- Gestión de volúmenes y otros recursos compartidos entre contenedores.
- Establecer variables de entorno y otras opciones de configuración para contenedores.
- Contenedores de escala hacia arriba o hacia abajo según sea necesario.
¿Cómo usar un archivo docker-compose.yml en Docker?
Para ver cómo crear y usar el archivo docker-compose.yml en Docker, siga las instrucciones paso a paso provistas.
Paso 1: Crear archivo de redacción
En Visual Studio Code, cree un nuevo archivo llamado ' docker-compose.yml ”. Después de eso, configure los servicios requeridos. Por ejemplo, hemos configurado los siguientes servicios:
versión: '3'servicios:
web:
imagen: nginx: más reciente
puertos:
- '9090:80'
web1:
construir: .
puertos:
- '8080:80'
En el fragmento anterior:
-
- El ' versión La tecla ” especifica la versión del formato de archivo de Docker Compose que se va a usar. Aquí, estamos usando la versión 3.
- El ' servicios La tecla ” se utiliza para configurar los servicios de composición. Aquí, hemos configurado dos servicios, es decir, ' web ' y ' web1 ”.
- El ' web El servicio ” utiliza el “ nginx: más reciente ” puerto de imagen y mapas “ 9090 ' en la máquina host al puerto ' 80 ” en el contenedor.
- El ' web1 El servicio 'construye una imagen del archivo Docker en el' . ” directorio. y ' 8080:80 ” es el puerto asignado.
Paso 2: Crear archivo Docker
Ahora, crea otro archivo llamado “ Dockerfile ” y pegue el siguiente código en él:
DESDE nginx: más recientePUNTO DE ENTRADA [ 'nginx' , '-gramo' , 'demonio apagado'; ]
En el fragmento anterior:
-
- El ' DE La declaración ” se utiliza para definir una imagen base para el contenedor, es decir, “ nginx: más reciente ”.
- El ' PUNTO DE ENTRADA ” se utiliza para establecer el punto de ejecución del contenedor.
Paso 3: Inicie Compose Services
Luego, ejecute el ' docker-compose up comando ” junto con el “ -d ” opción para iniciar el servicio de redacción en el modo separado:
docker-compose up -d
Se puede ver que el servicio de redacción se ha iniciado correctamente.
Paso 4: Verificación
Ahora, navegue a los puertos asignados del host local y verifique si los servicios se ejecutan en los contenedores o no:
En puerto “ 9090 ', el ' web ” servicio está utilizando el “ nginx: más reciente ” imagen y ejecutarlo.
En puerto “ 8080 ', el ' web1 El servicio ' está utilizando el archivo Docker para ejecutar el ' nginx ' imagen.
Así es como podemos configurar numerosos servicios y ejecutar múltiples contenedores a la vez usando el archivo “docker-compose.yml”.
Conclusión
El ' docker-compose.yml El archivo permite a los desarrolladores especificar todos los contenedores y su configuración, incluidas imágenes, puertos, volúmenes, redes, etc., en un solo archivo. Facilita la creación, el inicio y la detención de varios contenedores como parte de una sola aplicación. Es útil para desarrollar, evaluar e implementar aplicaciones que contienen varios componentes necesarios para comunicarse entre sí. Este artículo explicó los propósitos del archivo “docker-compose.yml” y su uso en Docker.