隨著容器化技術(containerization)的成熟與普及,越來越多企業與進階使用者選擇將應用部署在 Docker 上,享受其快速部署、易於備份、靈活可擴展等優點。而在 NAS(Network Attached Storage)設備普及的今天,將應用部署在 NAS 上的容器內,既能節省伺服器資源,也讓資料儲存與應用運行更緊密整合。
QNAP 本身就有很不錯的容器管理平台,它基本上也就是用 Docker 去加上一層適合給 NAS 的使用者介面,但如果要進行更多便利的管理,你可以試試看本文介紹的 Portainer ,它是目前可以在 NAS 與 Linux 、 Windows 等平台上部署與管理容器的最佳輕量化圖形管理介面工具。
為什麼選擇在 NAS 上使用容器?
過去,NAS 僅被視為一個單純的儲存設備。但如今,許多進階型 NAS(如 QNAP 一系列產品)已內建虛擬化平台與 Docker 支援,讓 NAS 具備輕量級伺服器的能力,可以讓你的 NAS 做更多應用,協助你完成更多事情。
選擇在 NAS 上部署容器的理由包括:
集中資源管理:將應用程式與資料儲存整合於一處,降低維護營運的複雜度。
成本效益高:善用現有硬體資源,無需額外建置伺服器。
容易備份與還原:資料與應用同處於 NAS 中,能輕鬆備份整個服務環境。
安全性與隔離性:容器天然具備沙箱隔離機制,適合資安導向的應用部署。
Portainer 是什麼?為什麼要用它?
Portainer 是一個輕量級的 Docker GUI 管理介面,讓使用者可以透過網頁圖形化介面,輕鬆管理容器、映像檔、網路、Volume 與 Stack。相較於純命令列操作,以及 QNAP 本身預設的容器管理介面,它具備以下優勢:
直覺化操作介面:我們不需要需熟悉 Docker CLI 指令,即可完成多數容器部署與維運工作。
集中式控管多個環境:可同時管理多台 Docker 主機與遠端環境(甚至包括 Kubernetes,K8s),能夠一次管理三台或更多台的設計,讓它成為你同時管理不同台 NAS 、Linux 與個人電腦上 Docker 平台的一站集中式管理最佳工具。
使用者角色與權限控管:便於中大型團隊分層授權管理。
支援 Stack/Compose 部署:可直接在介面上上傳 docker-compose.yml 進行應用部署。
如何在 QNAP NAS 上安裝與設定 Portainer?
以 QNAP 為例,其內建的 Container Station 即可快速啟用 Docker 環境。以下為我們實作的相關步驟:
步驟 1:啟用 Container Station
登入 QNAP 管理介面,安裝並啟用 Container Station。
確認 Docker 環境已啟用並正常執行。
這時候點選探索,可以快速查找你要的 Docker 應用,可以點搜尋 Portainer 建立。
步驟 2:使用 Container Station 建立 Portainer 容器


可透過如上圖所示的圖形介面 GUI 去建立,要記得儲存空間設定為 /data ,或直接使用下方的 CLI 指令一行部署最快,要在 Windows 用終端機 SSH 連線到 QNAP NAS,若未開啟,記得到 QNAP NAS 中的控制台,找到網路與檔案服務,去啟用 NAS 的 SSH 功能,必要操作結束後,大家要記得再將 SSH 功能關閉以策安全喔:


開好 SSH 服務並套用後,開啟 Windows 或 你 MacOS 或 Linux 電腦的終端機來連線這台 NAS 去下下方的指令:

docker volume create portainer_data
docker run -d \
–name portainer \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
–restart=always \
portainer/portainer-ce
請記得 portainer-ce 是功能比較簡單的免費社群版,portainer-ee 則是需要付費的企業版,功能比較強大,但是呢,你只要使用在 3 台執行 Docker 的設備上,就可以免費使用,也就是說,三個節點免費的意思,所以也很推薦安裝 portainer-ee 版本。
三節點免費企業版序號的 Portainer 官網連結由此去申請
小提示:如要透過 Portainer 控管 其他主機上的 Docker(例如 Windows Docker Desktop),可安裝 portainer-agent 並開啟 TCP 通訊設定。
QNAP NAS 會將這個 docker image 映像檔下載下來,再自動開啟依附這個印象檔的容器服務起來,設定資料與容器的檔案資料等等會存放在 NAS 中 container 容器資料夾下的 /data 資料夾。
這時請用你的瀏覽器連線到你的 NAS IP:9443 這個網址,是 Portainer 預設管理介面的連接 Port ,將密碼帳號資料等輸入後,就可以正式登入了。如果你是安裝企業版,記得輸入你去申請免費三節點版企業版的序號,收信然後複製貼上開通這個平台的企業版服務,就可以登入後改 Logo 與容器平台的各種相關設定了。

登入之後可以陸續把你手邊有用到的其他 Docker 機器,不論是你個人電腦上的 Docker 、另一台 NAS 上跑的 Docker 容器服務,就通通將它們納入列管吧。

上圖是預設的環境畫面,這時候會顯示為 local ,意思就是你本身的這一台 NAS 上在執行的 Docker Standalone,以 QNAP NAS 來說,QNAP 官方預裝的 Docker 版本算比較新是 27.1.2 版,和 Docker 官方最新版的 28.x 系列不會差太多,也比其他家 NAS 上執行的 24.0.x 要更新不少。接著來新增其他的 Docker 平台去納管,點選環境安裝精靈的快速安裝設定 :

我們針對其他台裝置上面執行的 Docker 環境,要控管它們,一共有這五種選項來加入環境,最簡單的方式就是選第一種 Portainer Agent 代理程式,下方會有對應的指令碼讓你複製去貼上執行使用。

比方說我們要納管另一台 NAS 上的 Docker 平台到我們的集中式管理環境中,就輸入它的 IP ,以及預設的連接埠是 9001 ,把這段指令複製,再用終端機連線到另一台 NAS ,把剛剛的指令貼上去,部署 Portainer agent 代理程式 。

很快地,貼完指令執行後,很快就裝好 agent 了,回到 Portainer 的管理介面重新整理網頁看看,系統就新增一台剛剛加入 agent 的機器了,正式納管這台機器上的 Docker 環境,你也可以針對這台設備改名稱、設置 tag 和群組 Group 等選項。

這邊額外補充一下,如果你要安裝 agent 的機器是 Synology 的 NAS,因為它的檔案結構比較特殊,要順利安裝 agent 在上面的話,指令就需要修改如下才能順利安裝,不然按照 Portianer 官方版本的安裝指令,會沒有辦法執行成功 :
sudo docker run -d -p 9001:9001 –name portainer_agent –restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /volume1/@docker/volumes:/var/lib/docker/volumes portainer/agent

使用 Portainer 管理容器的日常情境
Portainer 讓 NAS 容器部署變得簡單直覺,下列是幾個常見情境:
- 一鍵部署自架服務
透過 App Templates,可一鍵部署常見服務如:
Jellyfin / Plex(多媒體中心)
WordPress (內容網站平台)
Home Assistant(智慧家庭)
- 管理映像檔與更新容器
直接從 Portainer UI 拉取 Docker Hub 或自定 Registry 的映像檔。
建立定期重建(Recreate)的容器機制以利更新。
- 資安設定與資源限制
設定容器的 CPU、RAM 限額。
啟用容器網路隔離與 Volume 權限控制。
搭配 QNAP NAS 的快照 snapshot / ACL,強化資料保護。
Portainer 是 NAS 容器管理的理想搭檔
對於資訊維運來說,容器化不只適用在雲端架構,已經在辦公室環境、機房基礎設施、家庭與工作室中逐步開展使用。透過 NAS + Docker + Portainer 的組合,不僅能低門檻享受 DevOps 式的彈性部署,更讓應用管理、備援、維運、擴充能在「圖形化、自動化」的模式下精進。
Portainer 是在 QNAP 平台上相當好用的 Docker 容器服務應用總管,其他進階用法,請見下方的 NAS 容器管理利器 Portainer 的基礎實作篇系列。