Creación de Archivos YAML en Docker Compose

Imagen de administración de aplicaciones Docker con creación de archivos YAML: contenedor colocado por una grúa portuaria.

Creación de archivos YAML en Docker Compose

A la hora de la creación de archivos YAML. Docker Compose utiliza un archivo YAML para definir y configurar los servicios y contenedores de una aplicación. A continuación, te guiaré a través de los pasos para creación de archivos YAML y su configuración básica de Docker Compose.

Crear un nuevo archivo YAML

Paso 1: Crear un nuevo archivo. En tu editor de texto o IDE preferido, crea un nuevo archivo y nómbralo docker-compose.yml. Este es el nombre predeterminado que Docker Compose busca al ejecutar los comandos.

Paso 2: Especificar la versión de Docker Compose. En la parte superior del archivo docker-compose.yml, debes especificar la versión de Docker Compose que estás utilizando. Esto es importante ya que diferentes versiones pueden tener características y sintaxis ligeramente diferentes. Puedes usar la siguiente línea para especificar la versión 3 como ejemplo:

				
					version: '3'


				
			

Paso 3: Definir servicios y contenedores. A continuación, comenzaremos a definir los servicios y contenedores de tu aplicación. Un servicio es una definición de cómo se ejecuta un contenedor y qué configuración tiene.

				
					
services:
  mi-servicio:
    image: nombre-de-imagen
    ports:
      - "8080:80"
    environment:
      - VARIABLE=valor

				
			
  • services: Es la sección donde definimos nuestros servicios.
  • mi-servicio: Es el nombre que le das a tu servicio. Puedes elegir cualquier nombre que desees.
  • image: Especifica la imagen del contenedor que deseas utilizar para tu servicio. Puede ser una imagen de DockerHub o un registro privado.
  • ports: Mapea los puertos del contenedor con los puertos del host. En el ejemplo anterior, se mapea el puerto 80 del contenedor al puerto 8080 del host.
  • environment: Permite definir variables de entorno dentro del contenedor.

Paso 4: Agregar más servicios. Puedes repetir el paso anterior para agregar más servicios a tu archivo de configuración de Docker Compose. Simplemente copia y pega el bloque de definición de servicios y cámbiale el nombre y la configuración según sea necesario.

Paso 5: Guardar el archivo Una vez que hayas terminado de definir todos tus servicios y contenedores en el archivo docker-compose.yml, guarda el archivo.

Creación de Archivos YAML: Definición de servicios y contenedores en Docker Compose

En Docker Compose, los servicios son componentes individuales de una aplicación o servicio que se ejecutan en contenedores separados. Cada servicio se define en el archivo de configuración de Docker Compose y especifica la imagen del contenedor que se utilizará, la configuración de red, los volúmenes, las variables de entorno y otros detalles relacionados. A continuación, te explicaré cómo puedes definir servicios y contenedores en Docker Compose.

Para definir un servicio en Docker Compose, debes seguir el siguiente formato:

				
					
services:
  nombre-del-servicio:
    configuración-del-servicio

				
			

Aquí tienes una descripción de los elementos clave que puedes especificar en la configuración del servicio:

  • nombre-del-servicio: Este es el nombre que le das a tu servicio. Puedes elegir cualquier nombre que desees y usarlo para hacer referencia al servicio en otras partes del archivo de configuración.

  • image: Especifica la imagen del contenedor que se utilizará para el servicio. Puedes utilizar una imagen disponible en DockerHub o una imagen personalizada de un registro privado.

  • build: En lugar de especificar una imagen predefinida, puedes usar la directiva build para indicar la ruta a un Dockerfile y construir la imagen en tiempo de ejecución. Esto es útil cuando necesitas personalizar la imagen del contenedor.

  • ports: Permite mapear los puertos expuestos por el contenedor a los puertos del host. La sintaxis es <puerto-host>:<puerto-contenedor>. Por ejemplo, 8080:80 mapea el puerto 80 del contenedor al puerto 8080 del host.

  • volumes: Permite montar volúmenes en el contenedor para persistir datos o compartir archivos con el host. Puedes especificar rutas de host o nombres de volúmenes. Por ejemplo, ./datos:/app/datos monta el directorio ./datos del host en /app/datos del contenedor.

  • environment: Permite definir variables de entorno que estarán disponibles dentro del contenedor. Puedes proporcionar múltiples variables utilizando la sintaxis - VARIABLE=valor. Por ejemplo, - MYSQL_ROOT_PASSWORD=secreto establece la variable de entorno MYSQL_ROOT_PASSWORD en “secreto”.

  • Otros elementos opcionales: Docker Compose ofrece muchas más opciones de configuración, como networks para especificar la red a la que se unirá el contenedor, depends_on para definir dependencias entre servicios, command para ejecutar comandos personalizados dentro del contenedor, entre otros. Puedes consultar la documentación oficial de Docker Compose para obtener información detallada sobre todas las opciones disponibles.

Al definir múltiples servicios en el archivo de configuración de Docker Compose, cada uno se ejecutará en su propio contenedor aislado y podrás especificar la configuración y las interacciones necesarias entre ellos.Recuerda que puedes repetir la estructura de definición de servicios para agregar más servicios a tu archivo de configuración de Docker Compose. Es importante tener en cuenta la indentación correcta y la sintaxis YAML válida para garantizar que el archivo de configuración funcione correctamente al ejecutar los comandos de Docker Compose.Esta publicación está patrocinada por nuestros socios Wigs¡Ahora estás listo para definir servicios y contenedores en Docker Compose

Creación de Archivo YAML : Ejemplo

Aquí tienes un ejemplo a la hora de la  creación de archivo YAML para arrancar la aplicación Heimdall utilizando Docker Compose:

				
					
version: '3'
services:
  heimdall:
    image: linuxserver/heimdall
    container_name: heimdall
    ports:
      - "80:80"
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
    volumes:
      - ./data:/config

				
			

Explicación del ejemplo:

  • version: '3': Especifica la versión de Docker Compose que estás utilizando.

  • services: Define la sección de servicios en la que se definirá el servicio Heimdall.

  • heimdall: Es el nombre del servicio. Puedes elegir cualquier nombre que desees.

  • image: linuxserver/heimdall: Especifica la imagen del contenedor que se utilizará para el servicio Heimdall. En este caso, estamos utilizando la imagen linuxserver/heimdall disponible en DockerHub.

  • container_name: heimdall: Establece el nombre del contenedor como “heimdall”.

  • ports: - "80:80": Mapea el puerto 80 del contenedor al puerto 80 del host. Esto permite acceder a la aplicación Heimdall a través del puerto 80 en tu máquina local.

  • environment: - PUID=1000 - PGID=1000 - TZ=America/New_York: Define variables de entorno dentro del contenedor. En este ejemplo, estamos configurando el ID del usuario (PUID), el ID del grupo (PGID) y la zona horaria (TZ).

  • volumes: - ./data:/config: Monta el directorio local ./data en el directorio /config dentro del contenedor. Esto permite persistir los datos de configuración de Heimdall en tu máquina local.

Recuerda que puedes personalizar la configuración según tus necesidades y que todas las imagenes las podras encontrar en Docker Hub. Por ejemplo, puedes ajustar los puertos, las variables de entorno y los volúmenes según tus preferencias y requisitos específicos.

Guarda este archivo como docker-compose.yml en tu directorio de trabajo y luego ejecuta el comando docker-compose up en el mismo directorio para iniciar la aplicación Heimdall utilizando Docker Compose.

Espero que te haya ayudado este tutorial de creación de archivos YAML

Facebook
Twitter
LinkedIn
Telegram
Pinterest

Menú del curso: Selecciona contenido ha aprender

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *

Verified by MonsterInsights