From 8052f245ecea8aadee49d3448c01b76798f4ce53 Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Wed, 9 Sep 2026 19:15:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=9C=A8=20worker=20Dockerfile=20?= =?UTF-8?q?=E4=B8=AD=E6=B7=BB=E5=8A=A0=20HEALTHCHECK=20=E6=8C=87=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将健康检查命令直接写入 Docker 镜像,确保 Watchtower 重建容器时使用正确的健康检查。 修复 Worker 容器持续显示 unhealthy 的问题。 --- infra/docker/worker.Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/infra/docker/worker.Dockerfile b/infra/docker/worker.Dockerfile index 74baddcb5..9ca769af3 100755 --- a/infra/docker/worker.Dockerfile +++ b/infra/docker/worker.Dockerfile @@ -38,6 +38,10 @@ RUN chmod +x /usr/local/bin/entrypoint-worker.sh # 业务代码(变化最频繁,放最后) COPY apps/worker/ /app/apps/worker/ +# 健康检查:扫描所有进程的 cmdline 查找 celery 进程 +HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \ + CMD grep -lq celery /proc/[0-9]*/cmdline 2>/dev/null || exit 1 + USER celery WORKDIR /app/apps/worker CMD ["/usr/local/bin/entrypoint-worker.sh"]