Cuando empiezas con Docker y Flask, lo más útil es aprender los pasos esenciales para levantar tu aplicación en un contenedor. Aquí te muestro cómo hacerlo, sin complicaciones, y listo para correr con Gunicorn.
Paso 1 — Imagen base ligera
Usa una versión oficial de Python, preferiblemente slim para que la imagen sea más pequeña.
FROM python:3.11-slim
💡 Esto te da un entorno limpio y mantenido oficialmente.
Paso 2 — Directorio de trabajo
Define dónde se ejecutará tu app dentro del contenedor.
WORKDIR /app
Paso 3 — Dependencias
Primero copiamos solo requirements.txt
para aprovechar la caché de Docker, luego las instalamos:
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
Paso 4 — Copiar tu aplicación
Ahora sí, copia el resto de tu código al contenedor.
COPY . .
Paso 5 — Exponer el puerto
Esto le dice a Docker en qué puerto escuchará tu app.
EXPOSE 5000
Paso 6 — Arranque con Gunicorn
Para producción, nunca uses flask run
. Gunicorn es más estable.
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "app:app"]
💡 app:app
asume que tu archivo principal se llama app.py
y contiene app = Flask(__name__)
.
Bonus: Versionando tu aplicación
Para mantener control de versiones y despliegues:
# Build con versión
docker build -t flask-app:v1.0.0 .
# Tag adicional
docker tag flask-app:v1.0.0 flask-app:latest
Esto te permite versionar releases y mantener la imagen actualizada sin romper tu entorno de producción.
🔑 Conclusión
Con estos 6 pasos básicos puedes:
- Construir tu Dockerfile de forma clara
- Levantar tu app Flask en contenedor
- Versionar la aplicación con tags
- Prepararla para producción de manera sencilla
Top comments (0)