# Use an official Python runtime as a parent image | |
FROM python:3.9-slim | |
# Set environment variables | |
ENV PYTHONUNBUFFERED=1 | |
ENV PYTHONIOENCODING=UTF-8 | |
# Set working directory in the container | |
WORKDIR /app | |
# Copy the requirements file into the container | |
COPY requirements.txt /app/ | |
# Install dependencies | |
RUN pip install --no-cache-dir -r requirements.txt | |
# Install data science packages | |
RUN pip install --no-cache-dir \ | |
pandas \ | |
scikit-learn \ | |
matplotlib \ | |
seaborn | |
# Copy the FastAPI app code into the container | |
COPY . /app | |
# Expose the port FastAPI will run on | |
EXPOSE 7860 | |
# Command to run the FastAPI app with Uvicorn | |
CMD ["uvicorn", "app.jupyter_api:app", "--host", "0.0.0.0", "--port", "7860"] | |