容器管理工具(Portainer 等)
Portainer 是一個用網頁管理 Docker 的免費工具。安裝後打開瀏覽器,就能看到所有容器的狀態,點幾下就能啟動、停止、看日誌,不需要記指令。它很適合用來管理伺服器,或讓不熟悉命令列的同事也能操作。本頁說明怎麼安裝 Portainer、常用功能,以及使用時的安全注意事項。
Portainer 可以做什麼?
- 一眼看到全部:所有容器、Image、Volume、網路的狀態都在一個畫面上。
- 不用記指令:看日誌、進入容器、重新啟動,都在網頁上點選。
- 部署 Compose 專案:貼上
compose.yaml的內容就能啟動整組服務(Portainer 稱為 Stack)。 - 多人管理:可以建立帳號,設定每個人能管理哪些東西。
如何安裝 Portainer?
Portainer 本身也是一個容器,兩個指令就能裝好:
docker volume create portainer_data
docker run -d -p 9443:9443 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:lts
逐項說明:
| 參數 | 意思 |
|---|---|
-p 9443:9443 |
Portainer 的網頁介面使用 9443 埠 |
--restart=always |
電腦重開機後自動啟動 |
-v /var/run/docker.sock:... |
讓 Portainer 可以控制這台電腦的 Docker |
-v portainer_data:/data |
把 Portainer 的設定和帳號存在 Volume 裡 |
portainer-ce:lts |
社群免費版(CE)的長期支援版本 |
安裝後用瀏覽器打開 https://localhost:9443(伺服器的話換成伺服器 IP)。瀏覽器可能會警告憑證不安全,這是因為 Portainer 使用自己產生的憑證,選擇繼續前往即可。
第一次進入要在幾分鐘內建立管理員帳號,超過時間 Portainer 會停止等待,需要執行 docker restart portainer 再試一次。
安全提醒
能控制 docker.sock 的程式,等於擁有整台電腦的最高權限。所以 Portainer 一定要設定強密碼,而且不要直接開放在網際網路上,最好只在內部網路或透過 VPN 使用。
常用功能
登入後選擇 local 環境,左側選單就是各項功能:
- 啟動一個容器:Containers → Add container,填入 Image 名稱(例如
nginx)、連接埠對應,按 Deploy。 - 部署 Compose 專案:Stacks → Add stack,貼上
compose.yaml內容,按 Deploy the stack。 - 看日誌、進入容器:在 Containers 點選容器名稱,使用 Logs 或 Console。
- 登入私有倉庫:Registries 裡加入 Docker Hub 或 GitHub 的帳號密碼,就能下載私有的 Image。
如何升級 Portainer?
資料都存在 portainer_data Volume 裡,所以升級時刪掉舊容器、用新版 Image 重建就好,設定不會遺失:
docker stop portainer
docker rm portainer
docker pull portainer/portainer-ce:lts
# 然後再執行一次上面安裝時的 docker run 指令
還有其他工具嗎?
| 工具 | 介面 | 適合 |
|---|---|---|
| Docker Desktop | 桌面程式 | 在自己電腦上開發 |
| VS Code Container Tools | 編輯器側邊欄 | 寫程式時順便管理,見 VS Code 開發流程 |
| LazyDocker | 終端機畫面 | 用 SSH 連到伺服器時使用 |
| Rancher | 網頁 | 管理多個 Kubernetes 叢集 |
參考資料
推薦影音
Portainer 101 - How to deploy a container on Docker using Portainer
簡述:Portainer 官方三分鐘教學,示範在網頁介面中啟動一個 Nginx 容器,對應本頁「常用功能」第 1 點。(Portainer IO)
Portainer Install Ubuntu tutorial - manage your docker containers
簡述:在 Ubuntu 伺服器上安裝 Portainer,並介紹網頁介面的各項功能,對應本頁「如何安裝 Portainer?」。(Christian Lempa)
更多影片請見 影音教學。