From c1068845a98678a799d6d9c427137af238183892 Mon Sep 17 00:00:00 2001 From: butubb <1422726308@qq.com> Date: Wed, 7 Oct 2026 15:22:00 +0800 Subject: [PATCH] =?UTF-8?q?fix(deploy):=20=E9=83=A8=E7=BD=B2=E6=97=B6?= =?UTF-8?q?=E5=BF=85=E9=A1=BB=E5=BC=BA=E5=88=B6=E9=87=8D=E5=BB=BA=E5=AE=B9?= =?UTF-8?q?=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 代码是 bind mount,容器配置与镜像都没变,所以裸的 `docker compose up -d` 会判定无需变更直接跳过,改了 .py 也不会生效。前端产物是磁盘上的静态文件、能即时生效,这一点很容易把问题盖住,直到有人改了后端代码才发现。 首次实测即命中:跑 deploy.sh 的输出是 'Container mediacrawler Running',没有重启。 --- deploy.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/deploy.sh b/deploy.sh index e2ff21d..d5ab63c 100755 --- a/deploy.sh +++ b/deploy.sh @@ -55,6 +55,9 @@ else echo "== 前端无改动,跳过构建" fi +# --force-recreate,而不是裸的 `up -d`:代码是 bind mount,容器配置和镜像都没变, +# 所以 `up -d` 会判定"无需变更"直接跳过,Python 代码的改动根本不会生效。前端产物是 +# 磁盘上的静态文件,能即时生效,这一点很容易掩盖上面那个问题,直到有人改了 .py 才发现。 echo "== 重启容器" -docker compose up -d +docker compose up -d --force-recreate docker compose ps