FROM python:3.9-slim # Set the working directory inside the container WORKDIR /app # Copy necessary files from the root of the repository to the container's working directory COPY app.py /app/ COPY random_forest.joblib /app/ COPY requirements.txt /app/ COPY Dockerfile /app/ # Install dependencies from the requirements file without using cache to reduce image size RUN pip install --no-cache-dir --upgrade -r requirements.txt # Define the command to start the application using Gunicorn with 4 worker processes # - `-w 4`: Uses 4 worker processes for handling requests # - `-b 0.0.0.0:7860`: Binds the server to port 7860 on all network interfaces # - `app:app`: Runs the Flask app (assuming `app.py` contains the Flask instance named `app`) CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:7860", "app:superkart_api"]