Congelar las versiones de PIP en un contenedor Docker y crear requierements.txt

Tiempo de lectura: < 1 minuto

Hoy vamos a aprender a congelar las versiones y actualizar tu contenedor con un requirements.txt fijo.

Libro otoñal - pexels

Entrar al contenedor

docker exec -it nombre_contenedor /bin/bash
  • Esto te deja en la terminal dentro del contenedor.
  • Asegúrate de estar en la carpeta donde instalaste tus paquetes o donde está tu venv.

Generar requirements.txt

Dentro del contenedor, ejecuta:

pip freeze > requirements.txt
  • Esto genera un archivo requirements.txt con todas las versiones exactas de las librerías instaladas.
  • Puedes copiarlo fuera del contenedor con:
docker cp nombre_contenedor:/app/requirements.txt ./requirements.txt

Cambia /app/ por la ruta dentro del contenedor donde está tu proyecto.

Modificar Dockerfile para usar el requirements.txt

En lugar de la lista gigante de pip install, haz algo como:

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
  • Esto congela versiones automáticamente y hace la imagen más reproducible.

Reconstruir el contenedor

docker-compose up -d --build

Con esto evitas errores como el de Pydantic v2 o bcrypt que aparecen “de repente” al reconstruir la imagen.

Deja un comentario