27 lines
805 B
Docker
27 lines
805 B
Docker
# Use an official Python runtime as a parent image
|
|
FROM python:3.9-slim
|
|
|
|
# Set the working directory in the container to /app
|
|
WORKDIR /app
|
|
|
|
# Add metadata to the image to describe that the container is listening on port 8000
|
|
EXPOSE 8000
|
|
|
|
# Update package lists and install build tools
|
|
RUN apt-get update && apt-get install -y build-essential curl
|
|
|
|
# Install Poetry
|
|
RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
|
|
|
|
# Copy only the pyproject.toml and poetry.lock files to the container
|
|
COPY pyproject.toml poetry.lock /app/
|
|
|
|
# Install project dependencies
|
|
RUN $HOME/.poetry/bin/poetry install --no-root
|
|
|
|
# Copy the current directory contents into the container at /app
|
|
COPY . /app
|
|
|
|
# Run server.py when the container launches
|
|
CMD ["python", "server.py"]
|