This commit is contained in:
22
Dockerfile
22
Dockerfile
@@ -1,5 +1,5 @@
|
||||
# Use an official Ubuntu base image
|
||||
FROM ubuntu:latest
|
||||
# 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
|
||||
@@ -10,21 +10,17 @@ EXPOSE 8000
|
||||
# Update package lists and install build tools
|
||||
RUN apt-get update && apt-get install -y build-essential curl
|
||||
|
||||
# Install Rust
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \
|
||||
/root/.cargo/env && \
|
||||
rustup toolchain install stable && \
|
||||
rustup default stable && \
|
||||
rustup update
|
||||
# Install Poetry
|
||||
RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
|
||||
|
||||
# Set environment variables for Rust
|
||||
ENV PATH="/root/.cargo/bin:${PATH}"
|
||||
# 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
|
||||
|
||||
# Install Python dependencies
|
||||
RUN pip install -r requirements.txt --no-cache
|
||||
|
||||
# Run server.py when the container launches
|
||||
CMD ["python", "server.py"]
|
||||
|
Reference in New Issue
Block a user