From 2ffbe06eabe64dc6d11163d721e7e80046b9f887 Mon Sep 17 00:00:00 2001 From: ogt Date: Mon, 20 Apr 2026 06:46:04 +0800 Subject: [PATCH] fix: resolve container name conflict in rebuild CD step 'docker compose up --force-recreate' fails when the existing container was started by a different compose invocation, leaving a stale container with the same name. Error: 'container name already in use'. Fix: explicitly stop + rm the two containers before compose build & up. Using 2>/dev/null to ignore errors if containers are already stopped. Removed --force-recreate (no longer needed after explicit rm). --- .gitea/workflows/cd.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/cd.yaml b/.gitea/workflows/cd.yaml index d582de7..6898dbc 100644 --- a/.gitea/workflows/cd.yaml +++ b/.gitea/workflows/cd.yaml @@ -152,9 +152,14 @@ jobs: --exclude='.env' \ --exclude='*.db' \ ./ ollama@192.168.0.188:/home/ollama/momo-pro/ - # 重建並重啟(兩容器共用同一 image,telegram-bot 已於 2026-04-20 移除) + # 重建並重啟(先強制移除舊容器,避免 container name conflict) ssh -i ~/.ssh/id_deploy -o StrictHostKeyChecking=no ollama@192.168.0.188 \ - "cd /home/ollama/momo-pro && docker compose build momo-app && docker compose up -d --no-deps --force-recreate momo-app scheduler && echo '✅ Image 重建完成'" + "cd /home/ollama/momo-pro && \ + docker stop momo-pro-system momo-scheduler 2>/dev/null; \ + docker rm momo-pro-system momo-scheduler 2>/dev/null; \ + docker compose build momo-app && \ + docker compose up -d --no-deps momo-app scheduler && \ + echo '✅ Image 重建完成'" # ── 健康檢查(最多重試 5 次,每次間隔 10s) ─────────────────────────── - name: 健康檢查