EbenezerIT · Services
Inicio/Guías/Despliegue en Docker
Docker Compose Dificultad Tiempo · ~30 min Descargar PDF Vídeo en YouTube · próximamente

Docker Compose: despliegue paso a paso

Docker Compose es lo más cercano a la «infraestructura como código» que puedes adoptar sin montar un clúster de Kubernetes. Un archivo describe servicios, redes y volúmenes; un comando los pone en marcha.

Pila
Docker Compose
Tiempo
~30 min
Pasos
4
Probado en
Ubuntu 24.04 LTS
Si prefieres que lo haga yo
Pide presupuesto

Esta guía asume que sabes lanzar un contenedor con docker run. Cubrimos instalación, estructura básica, secretos y operación del día a día.

Paso 01

Instalar Docker Engine y el plugin Compose

Usa el script oficial de Docker, no el paquete docker.io de Ubuntu: este último no trae el subcomando docker compose.

install.sh
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER   # cierra sesión y vuelve a entrar
docker compose version
Paso 02

Estructura de un compose limpio

Servicios arriba, redes y volúmenes con nombre al final. Sin la línea version:, que está obsoleta desde Compose v2.

docker-compose.yml
services:
  web:
    image: nginx:1.27-alpine
    restart: unless-stopped
    ports: ["127.0.0.1:8081:80"]
    volumes:
      - ./html:/usr/share/nginx/html:ro
    healthcheck:
      test: ["CMD", "wget", "-qO-", "http://localhost"]
      interval: 30s
    networks: [internal]

networks:
  internal:

Docker se salta UFW

Un puerto publicado sin IP ("80:80") queda abierto a Internet aunque UFW lo bloquee. Si el servicio va detrás de un proxy, publícalo en 127.0.0.1.

Paso 03

Variables y secretos en un .env

Compose lee automáticamente un archivo .env en la misma carpeta. Mantén las credenciales fuera de Git.

.env
DB_PASSWORD=una-clave-larga-y-aleatoria
DOMAIN=tudominio.com
TZ=Europe/Madrid
Paso 04

Comandos del día a día

Estos cuatro cubren casi todo lo que vas a necesitar.

operacion.sh
docker compose up -d                       # arrancar en segundo plano
docker compose ps                          # estado de los contenedores
docker compose logs -f web                 # seguir los logs de un servicio
docker compose pull && docker compose up -d   # actualizar imágenes

Copias de seguridad

Antes de cualquier docker compose down de un servicio con datos, asegúrate de tener una copia reciente de sus carpetas. Un tar czf sobre la carpeta suele bastar.

¿Prefieres que lo haga por ti?

Docker va incluido en los servicios que lo necesitan. Si quieres migrar tu propia aplicación a contenedores, pídeme presupuesto.

Contratar