受歡迎的容器管理平台 Portainer,日前釋出了最新的長期支援版本,Release 2.33.5 LTS。本次更新最重要的,無疑是正式宣布對 Docker v29 的支援, Portainer 終於修改好了程式,支援新版 Docker API,確保許多採用的公司與開發者們,能順利更新移轉到新一代的 Docker 環境。
作為主打輕量化與易用性的管理工具,Portainer 此次更新雖然在功能數量上看似精簡,但對於追求基礎架構穩定性的維運團隊而言,卻是至關重要的一步。另外,官方也釋出了短期支援版 (STS) 2.36.0,帶來了不少新的功能最佳化、GitOps 增強以及社群期待已久的 UX 改進。
終於支援 Docker v29
隨著 Docker 引擎持續迭代,管理工具的相容性往往是維運人員關心的議題。在 2.33.5 版本中,Portainer 團隊明確列出了「Added support for Docker v29」,無論是 LTS 還是 STS 版本都有加入這句,這意味著使用者現在可以放心地將底層 Docker 引擎升級至 v29 版本,而無需擔心管理介面出現不相容或 API 呼叫失敗的問題。
對於因資安合規需求必須升級 Docker 版本的公司來說,Portainer 的更新,剛好可以搭配幾天前 Docker 官方才更新好的 Docker 29.0.4。
重要變更與開發者注意
Portainer 2.33.5 LTS (長期支援版)
除了核心引擎的支援,本次 LTS 版本也包含了一項破壞性更新(Breaking Change):
資料移除部分端點請求的選用原始快照回應(optional raw snapshot response), 開發者若有依賴 Portainer API 進行自動化串接,若團隊有撰寫自動化腳本串接 Portainer API,請務必在升級前進行測試與代碼審查。
Portainer 2.36.0 STS (短期支援版)
適用對象:開發測試環境、邊緣運算 (Edge) 場景、需要進階 GitOps 功能的用戶
2.36.0 STS 是本次更新的「重頭戲」,帶來了大量的功能修復與體驗升級,特別是在 GitOps 與邊緣運算的韌性上。
1、Edge 與 GitOps 的重大強化
對於使用 Portainer 進行大規模邊緣部署的用戶,此版本解決了這些問題:
斷電韌性提升: 新增了 Async Edge Agent 在面臨電源中斷時的恢復能力,減少資料遺失或連線異常的風險。
GitOps 修復:
修正了 Edge Stack 的 GitOps 強制重新部署 (Force Redeployment) 失效的問題。
解決了當 Git 儲存庫有新 commit 時,Edge Stacks 無法自動觸發更新的問題。
改進了跨不同場景下 GitOps 的一致性表現。
安全性提升: 在介面上隱藏正在使用的 Git 憑證與個人存取權杖 (PAT),避免敏感資訊外洩。
2、 Kubernetes 與容器管理優化
支援 K8s CRDs: 新增對 Kubernetes Custom Resource Definitions (CRDs) 的支援,擴展了 K8s 管理的邊界。
Helm Chart 支援: 現在支援位於 Git 儲存庫根目錄下的 Helm Chart 資料夾。
Podman 改進: 新增了 Podman 的自動上船 (auto-onboarding) 腳本,簡化部署流程。
3、使用者體驗 (UX) 與工作流改善
終於來了!堆疊更名 (Rename Stacks): 這是社群許願已久的功能,現在您終於可以直接在介面上重新命名 Stacks,無需重建。
活動日誌過濾: Activity Logs 新增了「使用者 (Users)」與「環境 (Environment)」過濾器,稽核更加方便。
開發者友善: 修正了 Apple M 系列晶片 (Apple Silicon) 使用者在本地建置開發腳本的問題。
介面細節: 修正了日期選擇器顯示 7 天會溢出的問題、過大的自定義圖示顯示問題,以及文字截斷時的 Tooltip 顯示優化。
已知問題與限制
CyberQ 也實測並彙整了官方發布公告中提及的已知問題,建議讀者在升級前評估自身環境:
Async Edge 環境顯示問題: 在瀏覽快照(snapshot)時,非同步邊緣環境可能會顯示無效的更新排程日期。
Podman 支援限制:
自動上船(auto-onboarding)腳本目前不支援 Podman 環境。
若 Portainer Server 運行於 Docker 上,無法透過 Socket 添加 Podman 環境(反之亦然)。
目前僅支援 CentOS 9 以及 Podman 5 rootful 模式。
Omni 管理的 Talos 集群:
權限限制: 載入 Omni 特定資訊與配置 Talos 集群目前僅限於 Portainer Admins。
Environment Admins 嘗試操作時會看到 “Forbidden” 錯誤。這僅影響 Omni 配置,不影響其他集群功能。
對於生產環境,CyberQ 一如既往地建議,先在測試環境驗證,再進行全面升級。尤其是使用 Edge Agent 或 Podman 的用戶,請務必詳閱發行說明中的限制。
目前該版本已可於 GitHub Release 頁面下載,或透過 Docker Hub 拉取最新映像檔。
Portainer 更新方式

如果你連線到 Portainer 的管理介面時,左下角直接跳出來新版本更新的畫面,點 Update now 即可順利更新到 Portainer 2.33.5。

點選 Start update 後,管理後臺會自動去官方拉取新的 image 檔案,並更新掉這個 Portainer 容器後再啟動,就可以回到原本的管理介面操作維運。
對於在 Docker Standard 的用戶來說,則可以在 ssh 介面中執行下列的更新指令作業 :

先停掉 Portainer 容器 docker stop portainer
再刪除 Portainer 容器 docker rm portainer
拉取官方版新容器 docker pull portainer/portainer-ce:lts
執行容器啟動指令
docker run -d -p 8000:8000 -p 9443:9443 –name=portainer –restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:lts

都順利完成後就會看到主機上如果是 Docker Enging 29.0.4 的機器,Portainer 2.33.5 版本的容器已經能順利在上面執行了,至於其他 Agent 就再透過指令更新或等 Watchtower 自動更新即可。
相關連結:
Portainer GitHub Release 2.33.5 官方頁面
本文題圖透過 Google Gemini AI 生成,配圖系統實際截圖











