Lección 7 de 12 · Lectura y práctica
Docker Compose: Conceptos y Sintaxis
Lección práctica para aplicar Docker Compose: Conceptos y Sintaxis dentro de Docker para Desarrolladores - Nivel Intermediate, con criterios de decisión, ejemplo guiado, ejercicio y checklist de salida.
Del concepto a la práctica
Taller de esta lección
Un archivo Compose declara servicios, redes, volúmenes, variables y publicaciones para que el entorno pueda reconstruirse de forma legible. Cada campo debe responder a una necesidad concreta: ports expone al host, environment configura el proceso y volumes define persistencia o desarrollo.
Ejemplo resuelto
Para una API y un almacenamiento local, declara dos servicios y un volumen nombrado:
services:
api:
build: .
ports:
- "8080:8080"
depends_on:
store:
condition: service_healthy
store:
image: redis:7-alpine
command: ["redis-server", "--appendonly", "yes"]
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 2s
timeout: 1s
retries: 10
volumes:
- store-data:/data
volumes:
store-data:Identifica qué servicio construyes y cuál reutilizas.
Publica solo el puerto de la API.
Añade el volumen únicamente al servicio que necesita persistencia.
Valida la configuración antes de iniciar.
Error frecuente: publicar todos los puertos internos; corrígelo dejando sin ports los servicios solo internos.
El volumen conserva los archivos que Redis efectivamente escriba. Activar appendonly hace explícito el modelo de persistencia; con la política por defecto puede perderse aproximadamente el último segundo ante un fallo, por lo que no equivale a pérdida cero. La dependencia healthy controla el arranque, pero la API todavía necesita reconexión ante fallos posteriores.
Pruébalo
Añade una red explícita localnet y conecta ambos servicios a ella sin cambiar el puerto publicado.
Comprueba tu resultado
La API debe conservar 8080:8080, store no debe tener ports, ambos servicios deben declarar localnet y el volumen debe seguir ligado a store.

Mapa de prácticaEl código se empaqueta en una imagen y se prueba antes de publicarlo. Esa misma imagen se guarda en un registro y se usa en el despliegue. Comprobar la salud de las instancias permite detectar un fallo sin reconstruir el artefacto.
Ver la infografía en tamaño completo ↗Sigue con Docker para Desarrolladores - Nivel Intermediate
Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.
Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.