Docker Compose: Hola mundo en docker-compose.yml

Docker Compose: Hola mundo en docker-compose.yml

Docker Compose es una herramienta que facilita la gestión de aplicaciones multi-contenedor en Docker. Gracias a su archivo de configuración docker-compose.yml, puedes definir y ejecutar todos los componentes necesarios para poner en marcha una aplicación sencilla o compleja. En este artículo, aprenderemos a crear un primer ejemplo práctico de un archivo docker-compose.yml que nos ayudará a entender los conceptos fundamentales de Docker Compose.

¿Qué es Docker Compose?

Docker Compose es una herramienta que permite definir y ejecutar aplicaciones compuestas por múltiples contenedores. A través de un archivo de configuración en formato YAML, se pueden especificar los servicios, redes y volúmenes que componen la aplicación. Esto es particularmente útil para desarrollos y entornos de pruebas, donde la replicación del entorno de producción es clave.

Instalación de Docker y Docker Compose

Antes de comenzar a trabajar con Docker Compose, asegúrate de tener Docker instalado en tu máquina. La instalación incluye Docker Compose en versiones recientes. Para verificar si tienes Docker y Docker Compose correctamente instalados, utiliza los siguientes comandos:

docker --version
docker-compose --version

Si no tienes Docker instalado, puedes seguir las instrucciones en la documentación oficial de Docker.

Creando tu primer archivo docker-compose.yml

Comencemos creando un archivo básico docker-compose.yml que ejecutará una aplicación web simple utilizando Nginx. Este será un ejemplo ideal para entender cómo funciona la estructura del archivo y cómo se levantan los servicios.

Estructura del archivo docker-compose.yml

A continuación, te mostramos la estructura del archivo docker-compose.yml que vamos a crear:

version: '3.8'

services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html

Descripción de cada sección

  • version: Especifica la versión del formato del archivo YAML que estás utilizando (en este caso, ‘3.8’).
  • services: Define los servicios que conforman la aplicación. En este caso, solo hay un servicio llamado web.
  • image: Especifica la imagen de Docker que se utilizará. Aquí usamos nginx:alpine, que es una versión ligera de Nginx.
  • ports: Mapea el puerto 80 del contenedor al puerto 8080 de tu máquina local.
  • volumes: Permite enlazar el directorio local ./html al directorio donde Nginx busca los archivos HTML.

Creando la estructura de archivos

Ahora, dentro de tu directorio de trabajo, crea una carpeta llamada html. En esta carpeta, coloca un archivo llamado index.html con el siguiente contenido:

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Hola Mundo desde Nginx</title>
</head>
<body>
    <h1>¡Hola Mundo! Bienvenido a Nginx en Docker Compose.</h1>
</body>
</html>

Ejecución de la aplicación

Con el archivo docker-compose.yml y el contenido HTML preparados, es momento de levantar la aplicación. Abre tu terminal, navega al directorio donde guardaste el archivo docker-compose.yml y ejecuta el siguiente comando:

docker-compose up

Al ejecutar el comando anterior, Docker Compose descargará la imagen de Nginx si no está presente localmente, creará el contenedor y levantará el servicio. Verás en la terminal los logs de Nginx.

Una vez que todo esté en marcha, abre tu navegador y dirígete a http://localhost:8080. Deberías ver el mensaje “¡Hola Mundo! Bienvenido a Nginx en Docker Compose.”.

Conclusiones

Docker Compose simplifica la orquestación de aplicaciones que requieren múltiples contenedores y recursos. En este tutorial, hemos creado un archivo docker-compose.yml sencillo y hemos levantado un servidor Nginx que sirve contenido estático. Este es solo el comienzo y puedes extender esto para manejar bases de datos, servicios de backend, y más.

Para más información sobre Docker y Docker Compose, no dudes en consultar nuestros otros artículos relacionados donde profundizamos en otras características y comandos.

Fuentes y lecturas recomendadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies