FROM python:3.9 # Create a non-root user RUN useradd -m -u 1000 user USER user ENV PATH="/home/user/.local/bin:$PATH" WORKDIR /app # Create logs directory RUN mkdir -p /app/logs/running_logs && chown user:user /app/logs/running_logs # Copy the requirements and install them COPY --chown=user ./requirements.txt requirements.txt RUN pip install --no-cache-dir --upgrade -r requirements.txt # Install DVC RUN pip install --no-cache-dir dvc # Explicitly copy the .dvc directory (if it's excluded by .dockerignore) COPY --chown=user .dvc /app/.dvc # Copy the rest of the project files COPY --chown=user . /app # Run the DVC reproduction command CMD ["dvc", "repro"]