使用正確的鏡像在 ARM64 上執行 Collabora 程式碼
檢查您的主機架構,確認 CODE 標籤發布的是 ARM64,移除強制 AMD64 設置,並將映像錯誤與權限或記憶體問題區分開來。
在 ARM64 主機上立即退出的 Collabora CODE 容器通常是由於使用了錯誤的鏡像平台造成的,但 ARM64 本身並非不受支援。在變更權限或重新建置鏡像之前,請先檢查主機的位元數、鏡像標籤的已發佈清單以及任何 Compose 平台覆蓋設定。截至 2026 年 10 月 10 日,官方 CODE 映像包含 ARM64 建置版本;Docker Hub 上列出了26.04.4.2.1相應的標籤linux/arm64。

在 Docker 主機上執行這些命令,而不是在已停止的 Collabora 容器內執行。collabora如果您的 Compose 服務使用其他名稱,請進行替換:
uname -m
docker info --format '{{.Architecture}}'
docker compose ps -a
docker compose logs --tail=100 collabora
64 位元 ARM Linux 主機通常會報告aarch64來自uname -m. 類似 的值armv7l通常標識 32 位元 ARM 核心平台,這與 不同linux/arm64。 Docker 的架構標籤可能使用不同的拼字方式,因此請比較主機類型、Compose 配置和映像清單,而不是機械地符合某個字串。
請閱讀第一個致命錯誤訊息和退出狀態。 「找不到與 linux/arm64 相符的清單」表示所選標籤在要求的平台上沒有相符的變體。 「執行格式錯誤」表示架構不符或明確強制使用了外部平台。權限錯誤或記憶體不足導致的終止是由其他原因引起的;不要將每次重啟循環都視為 ARM 相容性故障。
在更改主機之前,請檢查註冊表中的標籤:
docker buildx imagetools inspect collabora/code:26.04.4.2.1
linux/arm64在平台列表中查找。 2026 年 10 月 10 日, Docker Hub 官方標籤清單顯示該平台同時支援latest和26.04.4.2.1。 Collabora 的CODE 頁面將 x86-64、ppc64 和 arm64 列為支援的主機架構。版本化的標籤在故障排除期間更容易重現問題。標籤和清單可能會更改,因此請檢查您計劃部署的確切版本,而不是假設每個歷史標籤都具有相同的架構。

當標籤為多平台且沒有覆蓋設定更改目標平台時,Docker 會自動選擇相符的變體。 Docker 的鏡像檢查指令會顯示映像倉庫所發布的平台。
檢查已解析的 Compose 服務(包括覆蓋檔案)是否存在強製配置platform: linux/amd64。 Docker CLI 變數DOCKER_DEFAULT_PLATFORM也可以為接受平台標誌的指令設定預設平台。 Compose 的該platform欄位會明確選擇目標作業系統和架構,因此請移除錯誤的覆蓋或將其設為 ARM64。如果您有該字段jq,請檢查合併後的設置,但不要列印無關的環境變數值。 Composedocker compose config --format json | jq '.services.collabora | {image, platform}'服務參考文件定義了該欄位。 Docker CLI 參考文件DOCKER_DEFAULT_PLATFORM中對此有詳細說明。

services:
collabora:
image: collabora/code:26.04.4.2.1
platform: linux/arm64
這是一個片段:將鏡像和平台行合併到您現有的服務中,並保留其所需的設定。如果 Docker 已正確選擇原生 ARM64 清單,則此行是可選的。如果您的 Compose 服務有其他名稱,請在以下命令中platform進行替換。collabora
docker compose pull collabora
docker compose up -d --force-recreate collabora
使用如圖所示的已鎖定標籤,或您剛剛驗證過其清單檔案的其他版本。該latest-arm64標籤也會在 Docker Hub 上列出,但其內容會隨著版本更新而改變。鎖定版本可以使回滾和後續的版本比較更加可預測。linux/amd64如果已有原生 ARM64 映像可用,請避免先強制使用模擬環境;模擬環境會增加開銷,並使啟動診斷變得不那麼直接。
如果原生鏡像仍然存在,請使用日誌和狀態訊息,而不是擴大容器權限:

| 訊號 | 下一步行動 |
|---|---|
no matching manifest | 核實確切的標籤和所選平台;選擇一個包含以下資訊的標籤linux/arm64。 |
exec format error | 移除 AMD64 覆蓋,再次拉取,並檢查本地映像架構。 |
permission denied或設定檔無法讀取 | 檢查綁定掛載的檔案和目錄、它們的擁有者和模式,以及容器的預期存取權限。修復特定的掛載點,而不是使用chmod -R 777或privileged: true。 |
OOMKilled=true通常退出代碼為 137 | 檢查主機記憶體壓力和任何容器記憶體限制;僅憑退出代碼 137 並不能證明是 OOM 導致的終止。 |
使用顯示的容器名稱或 IDdocker compose ps -a來檢查其退出狀態:
docker inspect --format 'status={{.State.Status}} exit={{.State.ExitCode}} oom={{.State.OOMKilled}} error={{.State.Error}}' CONTAINER
Docker 文件中包含容器檢查和容器日誌,用於進行這些檢查。請勿為了測試架構問題而刪除持久性磁碟區或將整個容器設定為特權容器。
確認本機鏡像報告顯示目標架構:
docker image inspect collabora/code:26.04.4.2.1 --format '{{.Os}}/{{.Architecture}}'
預期值為[此處應填入具體數值] linux/arm64。然後檢查docker compose ps -a運行狀態是否穩定,並查看最新日誌以查找致命的啟動錯誤。容器連接到儲存平台或反向代理程式後,/hosting/discovery透過配置的 Collabora URL 請求並開啟一個測試文件。升級前請重新檢查註冊表的標籤列表,因為可用版本和平台清單可能會變更。
檢查您的主機架構,確認 CODE 標籤發布的是 ARM64,移除強制 AMD64 設置,並將映像錯誤與權限或記憶體問題區分開來。
在 Collabora Online 和 ownCloud Infinite Scale 之間建立 WOPI 連接,配置正確的服務 URL,並驗證文件編輯是否儲存。
透過設定 WOPI DisableExport 權限來阻止 Collabora Online CODE 中的文件匯出,然後驗證主機和編輯器是否強制執行該權限。
設定 Nginx TLS 終止、Collabora 路由和 WebSocket 標頭,然後在開啟真實文件之前測試公共端點。
追蹤 10 分鐘 CODE 斷開連線的原因,找到其代理程式、負載平衡器或 WebSocket 路徑,然後修正逾時問題並驗證會話是否保持連線。
安裝官方 Collabora Helm chart,配置 WOPI 存取和入口親和性,並驗證部署是否正確,避免常見的設定錯誤。
使用瀏覽器請求、WOPI 日誌和有針對性的代理檢查來找出 Collabora 開啟空白文件的原因,並選擇符合證據的修復方案。
正確配置 CODE Docker 字典並標記文件段落,以便英語、法語和其他受支援的語言獲得正確的拼字檢查。
在 coolwsd 中調整每個視圖的非活動閾值,並將其與後台標籤頁變暗、文件卸載、自動儲存和登入過期區分開來。
停止計劃的 CODE 更新檢查,審查可選的遠端服務,並在不中斷文件編輯的情況下使用出站網路控制。