Laboratorio: Inicio rápido de Docker Compose
Tabla de contenidos
Construye una aplicación de contador de visitas con Python Flask y Redis usando Docker Compose, comenzando
desde un compose.yaml vacío y agregando progresivamente características de calidad de
producción en cada paso.
Iniciar el laboratorio
Inicia el labspace:
$ docker compose -p labspace -f oci://dockersamples/labspace-compose-quickstart up -dAbre tu navegador en http://localhost:3030.
Cuando hayas terminado, elimina el labspace:
$ docker compose -p labspace down
Qué aprenderás
Al final de este Labspace, habrás completado lo siguiente:
- Definir una aplicación de múltiples servicios en un archivo
compose.yamly administrarla con comandos de Compose. - Controlar el orden de inicio de los servicios usando controles de estado (health checks) y condiciones en
depends_on. - Iterar en el código sin reconstrucciones manuales usando el modo watch de Compose.
- Persistir datos a través de los reinicios del contenedor con volúmenes con nombre.
- Modularizar un entorno (stack) en múltiples archivos utilizando la directiva
include. - Usar
config,logsyexecpara inspeccionar y depurar un entorno en ejecución.
Módulos
| # | Módulo | Descripción |
|---|---|---|
| 1 | Introducción | Recorrido por la aplicación inicial y verificación del entorno |
| 2 | Definición de servicios | Escribir el primer compose.yaml e iniciar el entorno Flask y Redis |
| 3 | Controles de estado y orden de inicio | Agregar un control de estado de Redis y depends_on para eliminar condiciones de carrera |
| 4 | Desarrollo en vivo con el modo watch | Configurar el modo watch para sincronizar los cambios de código sin reconstrucciones manuales |
| 5 | Persistencia y depuración | Agregar un volumen con nombre para que los datos de Redis sobrevivan a docker compose down |
| 6 | Uso de múltiples archivos Compose | Extraer Redis en infra.yaml y componer archivos con include |
| 7 | Comandos adicionales | Usar config, logs -f y exec para inspeccionar el entorno en ejecución |
| 8 | Recapitulación | Revisar lo construido y explorar los siguientes pasos |