Saltar al contenido principal
AsturIA
básico

Primeros pasos con Docker Compose

dockerdocker-composecontenedores

Por qué Docker Compose

Cuando un proyecto necesita más de un contenedor (por ejemplo, una app y su base de datos), gestionar cada docker run a mano se vuelve tedioso y propenso a errores. Docker Compose permite describir todos los servicios, redes y volúmenes en un único archivo YAML.

Estructura mínima

services:
  app:
    build: .
    ports:
      - "3000:3000"
    depends_on:
      - db

  db:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: example
    volumes:
      - db_data:/var/lib/postgresql/data

volumes:
  db_data:

Comandos básicos

  • docker compose up -d — levanta todos los servicios en segundo plano.
  • docker compose logs -f app — sigue los logs de un servicio concreto.
  • docker compose down — para y elimina los contenedores (los volúmenes con nombre persisten).

Notas para el homelab

En mi homelab uso un docker-compose.yml por servicio dentro de una carpeta compartida, versionada en un repositorio privado, para poder reconstruir cualquier stack desde cero si el host falla.