Conceptos Básicos de Docker Compose
Introducción a Docker Compose
Docker Compose es una herramienta potente para la orquestación de contenedores, que permite a los desarrolladores definir y gestionar aplicaciones multicontenedor con facilidad. Como componente clave en el despliegue de software moderno, Docker Compose simplifica el proceso de configuración y ejecución de entornos de aplicaciones complejas.
Conceptos y Arquitectura Básicos
Docker Compose utiliza archivos de configuración YAML para definir servicios, redes y volúmenes para aplicaciones contenedorizadas. El objetivo principal es agilizar el despliegue de contenedores interconectados a través de una única configuración declarativa.
graph TD
A[Docker Compose] --> B[Configuración YAML]
B --> C[Definiciones de Servicio]
B --> D[Configuración de Red]
B --> E[Gestión de Volúmenes]
Componentes Clave de Docker Compose
| Componente |
Descripción |
Propósito |
| Servicios |
Configuraciones de contenedor |
Definen contenedores individuales |
| Redes |
Comunicación entre contenedores |
Gestionan la red entre contenedores |
| Volúmenes |
Almacenamiento de datos persistentes |
Manejan la persistencia de datos |
Ejemplo Práctico: Configuración de una Aplicación Web
Aquí hay una configuración completa de Docker Compose para una aplicación web típica:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./website:/usr/share/nginx/html
database:
image: postgres:13
environment:
POSTGRES_PASSWORD: mysecretpassword
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
Desglose de la Configuración
- El ejemplo define dos servicios: un servidor web y una base de datos.
- Nginx sirve contenido estático desde un directorio local.
- La base de datos PostgreSQL se configura con un volumen persistente.
- El mapeo de puertos permite el acceso web externo.
Instalación e Inicialización
Para comenzar con Docker Compose en Ubuntu 22.04, utiliza los siguientes comandos:
sudo apt update
sudo apt install docker-compose-plugin
docker compose version
Ejecución y Gestión
Ejecutar una aplicación multicontenedor es sencillo:
## Iniciar contenedores en segundo plano
docker compose up -d
## Ver contenedores en ejecución
docker compose ps
## Detener y eliminar contenedores
docker compose down