sudoquest / linux-cli.svc / docker compose
Infrastructure as Code / Local Microservices Orchestration

Docker Compose | Stacks Declarativos

Despliegue estructurado de aplicaciones multi-contenedor. Definición de dependencias de arranque entre servicios, gestión nativa de redes compartidas y control de ciclos de vida unificados.

01. El Manifiesto Táctico: Estructura docker-compose.yml

A continuación se documenta un stack completo de producción que levanta un servidor web Nginx conectado a una base de datos PostgreSQL, completamente aislados en su propio segmento de red y con persistencia inyectada.

# Guardar este contenido estrictamente en un archivo llamado docker-compose.yml
services:
  db-backend:
    image: postgres:alpine
    container_name: compose-db-srv
    environment:
      - POSTGRES_PASSWORD=SuperSecr3tPass!
    volumes:
      - datos-postres-vol:/var/lib/postgresql/data
    networks:
      - stack-privado-net
    restart: always

  web-frontend:
    image: nginx:alpine
    container_name: compose-web-srv
    ports:
      - "8080:80"
    networks:
      - stack-privado-net
    depends_on:
      - db-backend # Fuerza a Docker a levantar la base de datos antes que el servidor web
    restart: always

volumes:
  datos-postres-vol: # Inicializa el volumen de forma automática si no existe

networks:
  stack-privado-net:
    driver: bridge

02. Comandos de Control Operativo

**Regla de Ejecución:** Todos los comandos de control deben ser invocados parándose físicamente en el mismo directorio donde se ubica el archivo docker-compose.yml.

Levantar y Desplegar todo el Stack en Segundo Plano

Stack Deploy

El comando analiza el manifiesto, descarga las imágenes faltantes, crea las redes, asocia los volúmenes y levanta los servicios respetando el orden del depends_on. El flag -d (detached) libera la consola.

docker compose up -d

Verificar el Estado Único de los Servicios del Manifiesto

Stack Status

A diferencia de docker ps (que muestra todos los contenedores globales del host), este comando filtra y muestra de forma exclusiva la salud, puertos y nombres de los contenedores asociados a este archivo de automatización.

docker compose ps

Apagar, Limpiar y Destruir el Stack de Forma Controlada

Stack Teardown

Detiene los contenedores y elimina tanto los procesos como las interfaces de red virtuales creadas, dejando el sistema limpio. Garantía de Seguridad: Los volúmenes físicos de datos se quedan intactos en el host para evitar pérdidas catastróficas, a menos que agregues explícitamente el flag -v.

docker compose down

Laboratorio Interactivo

Asistente de Laboratorio SudoQuest
Esperando comandos... Escribe una instrucción en la terminal interactiva para desglosar su comportamiento aquí.