# Use an official Python runtime as a parent image FROM python:3.10-slim # Set the working directory in the container WORKDIR /app # Copy the requirements file into the container at /app COPY requirements.txt . # Install any needed packages specified in requirements.txt # --no-cache-dir: Disables the cache to reduce image size # -r requirements.txt: Installs packages from the given requirements file RUN pip install --no-cache-dir -r requirements.txt # Copy the main application file into the container at /app COPY main.py . # Make port 8000 available to the world outside this container EXPOSE 8000 # Define the command to run the application # uvicorn main:app starts the server # --host 0.0.0.0 makes it accessible from outside the container # --port 8000 specifies the port to run on CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]