🐳 Cómo construir un Dockerfile básico para Flask 🚀



This content originally appeared on DEV Community and was authored by Jorge Garcia

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


This content originally appeared on DEV Community and was authored by Jorge Garcia