2025-05-31 18:36:44 +02:00
|
|
|
FROM registry.access.redhat.com/ubi9/python-39:latest
|
2025-05-30 19:09:28 +02:00
|
|
|
|
2025-05-31 18:36:44 +02:00
|
|
|
# Cambiar a usuario root para instalaciones
|
|
|
|
|
USER root
|
|
|
|
|
|
|
|
|
|
# Establecer directorio de trabajo
|
2025-05-30 19:09:28 +02:00
|
|
|
WORKDIR /app
|
|
|
|
|
|
2025-05-31 18:36:44 +02:00
|
|
|
# Copiar requirements.txt primero para aprovechar cache de Docker
|
|
|
|
|
COPY requirements.txt .
|
|
|
|
|
|
2025-05-30 19:09:28 +02:00
|
|
|
# Instalar dependencias
|
2025-05-31 18:36:44 +02:00
|
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
2025-05-30 19:09:28 +02:00
|
|
|
|
2025-05-31 18:36:44 +02:00
|
|
|
# Copiar el código de la aplicación
|
2025-05-30 19:09:28 +02:00
|
|
|
COPY app.py .
|
|
|
|
|
|
2025-05-31 18:36:44 +02:00
|
|
|
# Crear directorio para uploads si no existe
|
|
|
|
|
RUN mkdir -p uploads results && \
|
|
|
|
|
chown -R 1001:0 /app && \
|
|
|
|
|
chmod -R g=u /app
|
|
|
|
|
|
|
|
|
|
# Cambiar de vuelta al usuario no-root (recomendado para OpenShift/OKD)
|
|
|
|
|
USER 1001
|
|
|
|
|
|
|
|
|
|
# Exponer puerto
|
|
|
|
|
EXPOSE 5000
|
|
|
|
|
|
|
|
|
|
# Comando para ejecutar la aplicación
|
|
|
|
|
CMD ["python", "app.py"]
|