From 44a6ee1994d565ff55ae0366fb9fd8881422409c Mon Sep 17 00:00:00 2001 From: DDSRem <73049927+DDSRem@users.noreply.github.com> Date: Thu, 21 Aug 2025 22:17:18 +0800 Subject: [PATCH] =?UTF-8?q?fix(docker):=20=E4=BD=9C=E6=A5=AD=E3=83=87?= =?UTF-8?q?=E3=82=A3=E3=83=AC=E3=82=AF=E3=83=88=E3=83=AA=E3=81=8C=E9=96=93?= =?UTF-8?q?=E9=81=95=E3=81=A3=E3=81=A6=E3=81=84=E3=81=BE=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/Dockerfile | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index c863488e..98cb04cd 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,5 +1,7 @@ FROM python:3.12.8-slim-bookworm AS base + +# 准备软件包 FROM base AS prepare_package ENV LANG="C.UTF-8" \ @@ -48,6 +50,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ /var/tmp/* +# 准备 python 环境 FROM base AS prepare_venv # 设置环境变量 @@ -81,8 +84,11 @@ RUN python3 -m venv ${VENV_PATH} \ && pip-compile requirements.in \ && pip install -r requirements.txt +# 下载准备代码 FROM prepare_package AS prepare_code +WORKDIR /app + COPY . . RUN FRONTEND_VERSION=$(sed -n "s/^FRONTEND_VERSION\s*=\s*'\([^']*\)'/\1/p" /app/version.py) \ && curl -sL "https://github.com/jxxghp/MoviePilot-Frontend/releases/download/${FRONTEND_VERSION}/dist.zip" | busybox unzip -d / - \ @@ -97,11 +103,10 @@ RUN FRONTEND_VERSION=$(sed -n "s/^FRONTEND_VERSION\s*=\s*'\([^']*\)'/\1/p" /app/ # final 阶段: 安装运行时依赖和配置最终镜像 FROM prepare_package AS final +# python 环境 COPY --from=prepare_venv --chmod=777 ${VENV_PATH} ${VENV_PATH} -# 设置工作目录 -WORKDIR /app - +# playwright 环境 RUN playwright install-deps chromium \ && apt-get autoremove -y \ && apt-get clean \ @@ -110,6 +115,9 @@ RUN playwright install-deps chromium \ /var/lib/apt/lists/* \ /var/tmp/* +# 准备运行代码 +WORKDIR /app + COPY --from=prepare_code /app /app COPY --from=prepare_code /public /public