Skip to content

建立 2026-09-15 更新 2026-09-15

架構

Portainer 拆成兩個角色:Server(有狀態、提供 UI 與 API)與 Agent(部署在被管理的節點上、把該節點的資源回報給 Server)。兩者都是輕量容器,跑在你既有的 Docker 或 Kubernetes 上。

一台 Server 可以接很多個環境(environment)。官方不支援「多個 Server 實例同時管同一批叢集」;Server 應放在穩定的管理節點,資料要持久化。

Portainer Server

Server 負責:

  • 網頁介面(預設 HTTPS 9443
  • 使用者、設定與環境清單(存在資料 Volume,常見名稱 portainer_data
  • 可選的 Edge 隧道埠(預設 8000,給 Edge Agent 用)

本機 Docker 上,Server 通常直接掛載 /var/run/docker.sock,因此不必再裝 Agent 就能管這台機器。這是家用最常見的起步方式。

Agent 與 Edge Agent

要管另一台 Docker 主機或遠端叢集時,才需要 Agent。

傳統 Agent Edge Agent
連線方向 Server 連向 Agent(常見埠 9001 Agent 連回 Server(UI 埠 + 隧道埠 8000
網路假設 多半在同一內網,Server 要能連到節點 遠端/NAT/網際網路;不必把 Agent 埠開到公網
現況 仍可用,部分 Fleet 政策不支援 官方多數情境建議用這個

簡單記:Server 要能連到對方,用傳統 Agent;對方只能連回來、Server 進不去,用 Edge Agent。 細節與安裝指令見Agent 與遠端環境

flowchart LR
  user[瀏覽器] --> server[Portainer Server]
  server -->|本機 docker.sock| local[本機 Docker]
  server -->|內網 HTTPS 9001| agent[傳統 Agent]
  edge[Edge Agent] -->|輪詢與隧道| server

為什麼資料 Volume 不能省

使用者、環境連線設定、Stack 定義都寫在 Server 的資料庫裡。容器刪了但 Volume 還在,重建後設定還在;Volume 沒了,等於重裝。備份 Portainer 時,優先備份這個 Volume。

相關資料