From ab87b6fbca2623b10010f7c6f8c559f8cc488a3f Mon Sep 17 00:00:00 2001 From: Tuchuanhuhuhu Date: Wed, 21 Aug 2024 13:58:50 +0800 Subject: [PATCH] docker fix: Install cargo before installing pip packages --- Dockerfile | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9cf71f88..0d7b0f5c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,15 @@ FROM python:3.10-slim-buster as builder + +# Install build essentials and Rust RUN apt-get update \ - && apt-get install -y build-essential \ + && apt-get install -y build-essential curl \ && apt-get clean \ - && rm -rf /var/lib/apt/lists/* + && rm -rf /var/lib/apt/lists/* \ + && curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y + +# Add Cargo to PATH +ENV PATH="/root/.cargo/bin:${PATH}" + COPY requirements.txt . COPY requirements_advanced.txt . RUN pip install --user --no-cache-dir -r requirements.txt @@ -10,10 +17,21 @@ RUN pip install --user --no-cache-dir -r requirements.txt FROM python:3.10-slim-buster LABEL maintainer="iskoldt" + +# Copy Rust and Cargo from builder +COPY --from=builder /root/.cargo /root/.cargo +COPY --from=builder /root/.rustup /root/.rustup + +# Copy Python packages from builder COPY --from=builder /root/.local /root/.local -ENV PATH=/root/.local/bin:$PATH + +# Set up environment +ENV PATH=/root/.local/bin:/root/.cargo/bin:$PATH +ENV RUSTUP_HOME=/root/.rustup +ENV CARGO_HOME=/root/.cargo + COPY . /app WORKDIR /app ENV dockerrun=yes CMD ["python3", "-u", "ChuanhuChatbot.py","2>&1", "|", "tee", "/var/log/application.log"] -EXPOSE 7860 +EXPOSE 7860 \ No newline at end of file