Florent VanDeMoortele
06/19/2024, 4:08 PMMarvin
06/19/2024, 4:08 PMdockerfile
# Use a Python base image
FROM python:3.10
# Set environment variables for Poetry
ENV POETRY_VERSION=1.1.11
ENV POETRY_VIRTUALENVS_CREATE=false \
POETRY_HOME="/etc/poetry" \
POETRY_NO_INTERACTION=1
# Install Poetry
RUN curl -sSL <https://install.python-poetry.org> | python3 -
# Add Poetry binary to PATH
ENV PATH="$POETRY_HOME/bin:$PATH"
# Set the working directory
WORKDIR /app
# Copy the Poetry lock file and pyproject.toml
COPY pyproject.toml poetry.lock ./
# Configure Poetry to use private repository
RUN poetry config repositories.<repository-alias> <repository-url>
RUN poetry config http-basic.<repository-alias> <username> <password>
# Install dependencies
RUN poetry install --no-root
# Copy the rest of the application code
COPY . .
# Command to run your application (replace with your start command)
CMD ["python", "your_main_script.py"]
Notes:
- Replace <repository-alias>
, <repository-url>
, <username>
, and <password>
with your private repository details.
- Ensure pyproject.toml
and poetry.lock
files are at the same level as your Dockerfile.
- Adjust the path and filename in the CMD
directive to match your entry-point script.
If you need more details or setup help, please refer to the Prefect documentation on Docker deployment.