---
title: 部署失敗排除
description: 版本失敗時，先在版本頁看原因。內容被拒收就修正後重新上傳；平台出錯就直接重試。
url: https://agentlab.cresclab.com/docs/zh-tw/deploy/troubleshooting
language: zh-Hant-TW
updated: 2026-10-06
---

# 部署失敗排除

版本失敗時，先在版本頁看原因。內容被拒收就修正後重新上傳；平台出錯就直接重試。

## 內容被拒收

| 你看到的             | 原因                                     | 怎麼修                                                               |
| -------------------- | ---------------------------------------- | -------------------------------------------------------------------- |
| 找不到 `index.html`  | 壓縮的是資料夾本身，不是資料夾裡的內容。 | 進到資料夾裡再壓縮，讓 `index.html` 在最上層。                       |
| 檔案裡有密鑰         | 上傳的內容裡有像 API 金鑰或權杖的字串。  | 從檔案移除，換一把新的金鑰，改在 App 的「設定」輸入，再重新上傳。    |
| 映像檔沒有 `CMD`     | Dockerfile 沒有啟動指令。                | 加上 `CMD` 或 `ENTRYPOINT`。                                         |
| `USER` 不存在        | Dockerfile 指定了映像檔裡沒有的使用者。  | 改用數字 uid，或映像檔裡已有的使用者，例如 `node`。                  |
| 推送被拒，不是 amd64 | 在 Apple 晶片的 Mac 上建置成了 arm64。   | 用 `docker build --platform linux/amd64` 重新建置。                  |
| 嚴重漏洞             | 映像檔裡的套件有已知的嚴重漏洞。         | 把套件升級到掃描結果寫的修正版本，或換成已包含該版本的新基底映像檔。 |

## 等待確認

有檢查項目設成「會先問過你」並且找到問題時，版本會停在「等待確認」。看過掃描結果後，你可以決定照樣發佈。高風險漏洞就屬於這一類，修法和嚴重漏洞相同，升級之後提示才會消失。

## 版本一直沒有就緒

建置成功、也上線了，但「執行」分頁的執行個體一直沒有就緒，多半是通訊埠的問題：伺服器沒有監聽平台給的通訊埠。

1. 看版本頁有沒有 `imagePortsAmbiguous` 提示。
2. 讓伺服器監聽環境變數 `PORT`，或到「設定 › 執行設定 › 通訊埠」填伺服器實際監聽的通訊埠。
3. 按「重新啟動服務」。

## 啟動後不斷重新啟動

最常見的原因是程式寫入了 `/tmp` 以外的路徑，而檔案系統是唯讀的。把寫入位置改到 `/tmp`，見[容器執行合約](https://agentlab.cresclab.com/docs/zh-tw/deploy/runtime-contract.md#writable-paths)。

## 平台出錯

失敗原因是平台本身時，不需要修改內容，也不用重新上傳，直接重試同一個版本。

## 還是找不到原因

- 到「執行」分頁看執行個體的狀態和最近的記錄。
- 到映像檔的「檢查」分頁看平台留下的提示。
- 請已連接 Agent Lab MCP 的 AI 工具讀部署狀態幫你判斷。它讀到的失敗原因和這一頁的代碼相同。
