Docker Compose: Estructura básica.

Docker Compose: Estructura básica.

Docker Compose es una herramienta esencial para cualquiera que trabaje con contenedores Docker. Permite definir y ejecutar aplicaciones multicontenedor de manera sencilla, facilitando el manejo y despliegue de servicios interconectados. En este artículo, exploraremos la estructura básica de un archivo docker-compose.yml, los conceptos fundamentales que lo componen y ejemplos prácticos para comenzar a utilizar esta herramienta de manera efectiva.

¿Qué es Docker Compose?

Docker Compose es una herramienta presentada por Docker que permite definir y ejecutar entornos de aplicación en contenedores utilizando un archivo de configuración en formato YAML. Gracias a esta herramienta, se puede orquestar un conjunto de servicios que se comunicarán entre sí, reduciendo así la complejidad de las configuraciones manuales.

Instalación de Docker y Docker Compose

Para usar Docker Compose, primero necesitas tener Docker instalado. A continuación, te mostramos brevemente cómo instalar ambas herramientas en un sistema operativo basado en Linux.

  1. Instala Docker siguiendo esta guía oficial: Instalación de Docker.
  2. Para instalar Docker Compose, ejecuta el siguiente comando en la terminal:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  1. Asegúrate de dar permisos de ejecución:
sudo chmod +x /usr/local/bin/docker-compose

Puedes comprobar que la instalación fue exitosa ejecutando:

docker-compose --version

Estructura básica del archivo docker-compose.yml

El archivo docker-compose.yml se utiliza para definir los servicios, redes y volúmenes necesarios para tu aplicación. Aquí te mostramos la estructura básica de dicho archivo:

version: '3'
services:
  web:
    image: nginx
    ports:
      - "80:80"
  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: example

Desglose de la estructura

  • version: Especifica la versión de Docker Compose que se está utilizando.
  • services: Contiene la definición de los diferentes contenedores que componen la aplicación.
  • web: Es un servicio que utiliza la imagen nginx. Esto se traduce en que un contenedor Nginx ejecutará el servicio web.
  • ports: Muestra cómo se mapearán los puertos del contenedor a los puertos del host.
  • db: Define un servicio de base de datos que utiliza la imagen de mysql.
  • environment: Permite pasar variables de entorno al contenedor.

Ejemplo práctico: Aplicación web simple

Veamos un ejemplo más completo, que implemente un entorno de aplicación web sencillo utilizando Nginx y MySQL:

version: '3'

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

  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: secret
    networks:
      - backend

networks:
  frontend:
  backend:

Descripción del ejemplo

En este ejemplo:

  • Se define un servicio web que corre Nginx y está mapeado al puerto 8080 del host.
  • La opción volumes se utiliza para enlazar un directorio local ./html al directorio del contenedor donde Nginx muestra los archivos HTML.
  • Un servicio db que ejecuta MariaDB con una contraseña de root establecida en las variables de entorno.
  • Se definen dos redes: frontend y backend. Esto permite isolar la comunicación entre servicios si es necesario.

Ejecutando Docker Compose

Una vez que tengas tu archivo docker-compose.yml configurado, puedes ejecutar tus servicios fácilmente utilizando el siguiente comando en el directorio que contiene el archivo:

docker-compose up

Este comando construirá y levantará todos los servicios definidos, listos para ser utilizados. Para detener los servicios, simplemente ejecuta:

docker-compose down

Conclusiones

Docker Compose es una herramienta poderosa que facilita el manejo de aplicaciones compuestas por múltiples servicios. Su estructura basada en YAML permite a los desarrolladores definir rápidamente la arquitectura de sus aplicaciones. Con nuestra introducción a la estructura básica de Docker Compose, ahora puedes comenzar a crear tus propios entornos de desarrollo y producción de manera eficiente.

Fuentes y lecturas recomendadas

2 respuestas a «Docker Compose: Estructura básica.»

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