延續我們上一篇的教學說明,針對 Portainer 來管理 QNAP NAS 上的容器,提供更多實作指引,做好日常維護容器的工作。還不認識 Portainer 的,可以先看這一篇來安裝到你的 QNAP NAS 上。
舉凡容器的功能,無非是提供一種快速部署服務的選擇外,它的核心概念,簡單概念來比擬的話,是把應用層和資料層可以好好分開的微服務概念,只要你在 QNAP NAS 上,預先建立好 Container (容器) 儲存區下的不同 Docker 應用的資料夾,無論你的容器如何升級、更新、刪除或重新建立安裝,容器中使用的資料和設定仍會在,這種把資料、設定和打包好應用程式與系統分離好的運作,是目前 DevOps 常見的型態,方便維運人員做管理。
而不論是中小企業、工作室或家庭用戶,在你所使用的 NAS 上,採用 Portainer 管理 Docker ,可說是另一種便利的形式,能同時管理 NAS 上的 Docker ,以及你桌機、筆電中執行的 Docker 程式,配合雲端 Github 與 DockerHub 一起使用的概念,你可以做到更多事,包括開發、測試、上版、部署到正式機台等等,會有一連串可以操作的流程。
接下來我們來說明一些基礎實作,讓你在使用 Portainer 來管理 Docker 時會更有簡單的操作概念 :
更新容器:保持服務最新狀態的關鍵
這塊是有點必要的工作,原因是 QNAP NAS 的容器管理工具,或其他品牌 NAS 的管理工具,在這一塊的處理上,不盡相同,也不一定能即時看到更新版本的容器映像檔可更新。而 Windows 平台下的 Docker Desktop ,有些功能不夠直覺或操作一樣得另外下指令,若統一能大部分工作用 Portainer 來管理也是很方便的。
更新的目的是你使用的容器服務,開發團隊或打包軟體的團隊會有更新程式碼和系統,可能有修掉很多安全性的 bug 或應用本身的 bug,在其他系統是透過更新程式去完成,但是在 Docker 環境中,需要使用另一種方式來更新,因為如前述所言,應用層和資料層是分開的,更新的概念就會不太一樣。
更新容器的基礎就是先把容器停掉,再點選重新建立容器時,有一個從容器倉庫抓取最新容器映像檔的選項打勾,這樣 Portainer 會代你把容器檔案更新,並不會動到你存放資料的容器資料夾。因此,當更新完容器映像檔,並且重新啟動容器後,你的服務就會使用最新的版本,同時保有你原有的設定和資料。
實作步驟:
進入 Portainer 介面: 首先,登入你的 Portainer 管理介面。
找到要更新的容器: 在左側導航欄選擇 Containers (容器),你會看到所有正在運行的或已經停止的容器列表。下方圖片注意看喔,有標示綠色打勾的就是已經是最新版容器了,標示橘色X圖示的就是 Portainer 自己自動去檢查雲端的 Docker 倉庫,標示出可更新的容器。
容器一般來說它的版本是跟著容器名稱後面的標籤 (tag) 走,如果你指定 latest ,就會去保持更新到 latest 標籤的容器映像檔版本。

停止容器: 找到你需要更新的容器,點擊其名稱進入詳細頁面。然後點擊頁面上方的 Stop (停止) 按鈕,等待容器狀態 (Status) 變為 Stopped。


重新建立容器並更新映像檔: 容器停止後,點擊 Recreate (重新建立) 按鈕。在彈出的確認視窗中,勾選 Pull latest image (拉取最新映像檔) 選項。

確認並啟動: 再次點擊 Recreate (重新建立) 確認操作。Portainer 會自動從 Docker Hub (或其他設定的倉庫) 拉取最新版本的映像檔,然後使用你現有的設定重新建立容器。這個過程會保留你的資料卷掛載,所以你的資料不會丟失。

檢查容器狀態: 完成後,你會看到容器重新開始運行。建議你再檢查一下服務是否正常運作,例如訪問相關的網頁介面或檢查日誌。

透過 Portainer 進行容器更新,相較於直接在 NAS 的介面操作,確實直觀許多,也更容易確保你使用的都是最新、最安全的版本。這對於服務的穩定性與安全性都非常重要。
清理不再使用的資料卷 (Volumes):為你的 NAS 瘦身
在我們測試、安裝不同容器的過程中,常常會建立一些對應的資料卷 (Volume) 來存放設定檔或資料。但有時候,當你刪除了一個測試用的容器後,它所使用的資料卷卻沒有跟著被刪除,就這樣成了「孤兒資料卷 (Orphaned Volume)」,默默地佔用你的硬碟空間。這在 Windows Docker Desktop、QNAP 容器管理平台與其它品牌 NAS 的容器管理工具來說,都沒有 Portainer 在這邊列出的直覺和詳細。
定期清理這些不再使用的資料卷,是個良好的維護習慣。
實作步驟:
進入 Volumes 管理頁面: 在 Portainer 左側導航欄選擇 Volumes (資料卷)。

篩選出未使用的資料卷: 在列表上方,你會看到一個篩選器 (Filter)。點擊它並選擇 Unused (未使用),Portainer 會立刻幫你列出所有目前沒有任何容器正在使用的資料卷。

確認並刪除: 勾選你確認不再需要的資料卷。請務必再次確認! 有些你暫時停止的容器,其資料卷也會顯示為 Unused,若刪除掉,之後容器重啟資料就沒了。確認無誤後,點擊列表上方的 Remove (移除) 按鈕即可。

這個小動作可以幫助你維持儲存空間的整潔,也避免未來在設定新容器時,因為看到一堆舊的、不知用途的資料卷而感到混亂。
即時監控容器狀態:揪出較耗費系統資源的容器
你的 NAS 同時可能運行著檔案服務、備份任務以及多個容器服務。如果某個容器因為設定錯誤、程式 Bug 或流量暴增而佔用掉大量的 CPU 或記憶體,很可能會拖慢整個 NAS 的效能。Portainer 提供了非常直觀的資源監控圖表,讓你一眼就能看出是誰吃掉了較多的系統資源。
實作步驟:
進入容器列表: 在左側導航欄選擇 Containers (容器)。
快速概覽: 在列表中,你就可以直接看到每個運行中的容器的。
查看詳細統計: 如果發現某個容器資源佔用率偏高,可以點擊該容器名稱,進入詳細頁面後,點擊 Stats (統計) 按鈕。

分析圖表: Portainer 會顯示該容器即時的 CPU 使用率、記憶體用量以及網路 I/O 的動態圖表。舉例來說,你可能會發現某個處理檔案下載的工具在下載時網路流量很高,這是正常的;但如果某個日常功能小服務在沒人使用時 CPU 還持續飆高,那可能就是你該去檢查其 Log (日誌) 的警訊了。
方便存取容器資料:打通 Windows 與 NAS 的任督二脈
我們在建立容器時,最重要的步驟之一就是「掛載資料卷」,將容器內的資料夾 (例如 /config 或 /data) 對應到 NAS 上的一個實體資料夾 (例如 /Share/Container/MyAIOutput)。這個動作的真正威力在於,它讓你可以輕易地從你的電腦直接存取、管理這些由容器產生的資料。
這並非 Portainer 的直接功能,而是透過 QNAP NAS 本身的檔案分享 (SMB/CIFS) 功能來達成,兩者完美結合。
實作步驟:
確認 NAS 上的路徑: 在 Portainer 中查看你的容器設定,記下你掛載的 NAS 主機路徑 (Host Path),例如 Container/downloads。這代表資料實際上是存在你 QNAP NAS 上名為 Container 的共用資料夾下的 downloads 子資料夾裡。
設定 QNAP 共用資料夾: 登入你的 QTS 或 QuTS hero 系統,進入「控制台」->「權限設定」->「共用資料夾」。確保你的 Container 這個共用資料夾已經啟用,並且你的使用者帳號擁有讀寫權限。
從 Windows 連接網路磁碟機:
打開 Windows 的「檔案總管」。
在左側「本機」按右鍵,選擇「連線網路磁碟機」。
在「資料夾」欄位輸入 \<你的NAS IP位址>\Container,例如 \192.168.2.1\Container。
點擊完成,並在跳出的視窗中輸入你的 NAS 帳號密碼。
直接存取: 設定完成後,你的檔案總管就會出現一個新的網路磁碟機。點進去,你就能看到所有容器的資料夾,例如前面提到的 downloads 或 output 資料夾。容器下載完成的檔案會即時出現在這裡,你可以直接從 Windows 進行複製、移動、刪除或編輯,就像操作本機檔案一樣方便。

最後不要忘記查看日誌 (Logs) !
最後一個但同樣重要的基礎維護工作,就是「查看日誌」。當容器無法啟動、運行不穩定或出現錯誤訊息時,日誌是你的第一個破案線索。在 Portainer 中,只需進入容器的詳細頁面,點擊 Logs (日誌) 圖示,就能看到容器啟動以來的所有輸出訊息。你可以設定自動更新,即時監看日誌的變化,對於除錯非常有幫助。
希望你能更得心應手地使用 Portainer 來管理 QNAP NAS 上的容器生態。從更新、清理、監控到資料存取,掌握這些基礎的維護,完成日常服務運行維運。