FB 建議貼文

選取貼文複製成功(包含文章連結)!

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

在多數人眼中,NAS 的角色不外乎是用於檔案備份與媒體儲存,但實際上,廠商們一直十分積極在嘗試拓展 NAS 的應用範疇,從各類 NAS 專屬套件,到能在 NAS 安裝多系統的虛擬機應用等等,但在 Docker 這項技術 / 工具橫空出世之後,與 NAS 可謂一拍即合,Docker 具備了啟動快、資源佔用低,且能跨平台運行等特色,讓使用者得以在 NAS 平台上,建構出屬於自己的應用生態系,不論是部署私有雲服務、架設部落格網站,或是安裝多種開源工具,都讓原本靜態的儲存設備搖身一變,成為靈活的應用平台。而近幾年隨著 NAS 的硬體性能提升與智慧家庭趨勢,更推動了 Docker 在家用 NAS 環境的普及,透過本期特別企劃,我們將帶你一步步了解 Docker 是什麼,以及如何在 NAS 上部署並啟用應用程式。

認識 Docker 與 NAS 的結合

所謂的 Docker,其實是一種輕量級的虛擬化技術,它允許開發者將應用程式與所需的作業環境封裝成一個「容器」,並能在任何支援 Docker 的環境下中運行,其概念與傳統的虛擬機器很類似,是透過軟體技術模擬出一個硬體的環境,但差別在於 Docker 不需要模擬出完整的作業系統,而是可以直接在裝置的主系統上執行容器,因此耗用的資源更少,僅需數秒就可啟動,遠比虛擬機器高效。即便 NAS 本身硬體資源有限,也能有效部署多種應用服務,並可透過  Docker Hub 等公共平台,輕鬆取得數以千計的第三方應用。

Docker 最初的商標設計,是以背負著貨櫃的鯨魚為形象,十分貼切地表達出「容器」技術的內涵。

 

Docker 與 NAS 原生套件的差異

將 Docker 應用於 NAS,最大的優勢是可突破原生應用套件的限制,讓 NAS 的功能更為多元。許多 NAS 廠商如 Synology、QNAP 都提供了官方應用市集,其中的套件由官方或合作的開發者維護,除了更新頻率取決於廠商,選擇性也相對有限。但透過 Docker,用戶可以自行「安裝」最新版本的應用,甚至部署尚未在這些 NAS 平台上正式支援的服務,打造出完全功能客製化的 NAS。只不過相較於即裝即用的 NAS 原生套件,強調高自由度與靈活性的 Docker 容器,往往需要手動設定各項參數、掛載路徑、管理網路與權限,當容器內部出現錯誤時,診斷與除錯的難度也可能高,對初學者還是有一定的操作門檻。

一般 NAS 在家庭的使用情境,通常以備份媒體檔案為主,隨著硬體效能提升,NAS 能做到的事也越來越多。

Docker 是否會損害 NAS 資料?

另一個常見的疑慮,是 Docker 容器是否會對 NAS 的資料造成風險?基本上容器通常是與 NAS 檔案系統隔離的,除非使用者自行將重要的資料夾掛載到容器之中,否則容器崩潰不會影響 NAS 資料,換言之,只要在設定上謹慎管理權限與路徑,就不太需要擔心誤刪重要檔案。此外,從系統穩定性的角度來看,只要容器數量與資源分配妥當,同樣也不會影響 NAS 的基本功能。另一方面,NAS 廠商也正持續與 Docker 整合,讓部署變得更直覺,只要理解基礎原理,Docker 反而是能拓展 NAS 應用的強大助力。

雖然各家 NAS 現在的軟體套件已經十分豐富,但與 Docker 的資源相比,依然是小巫見大巫。

使用 Docker 的前置準備動作

目前大多數 NAS 作業系統是基於 Linux,因此使用者可以透過 SSH(Secure Shell)連線,藉由輸入文字指令來安裝 Docker,不過這種方式實在太過於硬核,故對一般家庭用戶來說,比較建議的方式仍是透過各 NAS 廠商所推出的圖形化介面工具,來進行 Docker 的設定並管理,例如群暉的 Docker 套件、QNAP 的 Container Station⋯等等,基本上都需要先到官方軟體市集中選取並安裝,受限於篇幅,本篇將則以華芸的 AS5402T 進行示範,除了安裝 Docker Engine 之外,還需一併安裝 Portainer CE。

步驟 1:確認 NAS 的型號可支援 Docker,然後進入華芸 ADM 桌面點擊「App Central」。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 2:在熱門 Apps 頁面可找到「Docker Engine」,按下「安裝」。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 3:安裝完成後,再到類別中找到「虛擬化」項目,點擊進入。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 4:接著安裝「Portainer CE」應用,可看到有 2 個版本,所使用的預設連接埠亦不同,按下「安裝」。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 5:預設會勾選啟用通訊埠轉發以供外部連線,再次按下「安裝」即可。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

Portainer CE 的初始設定

如前所述,Docker 並沒有官方 GUI 介面支援,因此華芸導入了另一套由Portainer 團隊所開發的免費開源應用 Portainer(Community Edition),其定位偏向於個人或小型團隊使用。Portainer 擁有易用且輕量化的 Docker 容器管理介面,目的是簡化 NAS 裡容器的管理與部署、用戶權限的管理,甚至還可以在 Portainer 中直接更新容器映像檔的版本,使用者即使對於 Docker 指令不熟悉,也能透過 Web 頁面的直覺操作,快速進入 Docker 的世界。

步驟 1:執行「Portainer CE」初次使用需先建立管理者帳號,輸入名稱及密碼,按下「Create User」。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 2:進入快速設定畫面, 點擊畫面中的「Get Started」建立一個環境。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 3:點選左側欄位「Environment-related」項目之下的「Environments」,再點擊右邊「local」連結。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 4:於「Public IP」欄位輸入 NAS 的外部存取 IP 或是網址,再按下藍色「Update」按鈕即可。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 5:設定完成後按下「Home」可以回到 Portainer 管理主頁面。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

從 Docker Hub 下載應用程式映像檔

當完成 NAS 環境的初步設置後,接下來就可以開始從 Docker Hub 下載所需的應用程式映像檔。簡單來說,映像檔就像是容器的設計藍圖,使用者透過這份藍圖來生成容器,並透過該容器來執行對應的服務。Docker Hub 則是 Docker 官方的映像檔倉庫平台,開發者或企業可以將已打包完成的映像檔上傳至此,也能瀏覽和下載其他人所分享的映像檔,其標準操作語法採用「Push / Pull」的術語,代表映像檔的提交與取得,但為便於理解,這裡以「上傳 / 下載」作為替代。

步驟 1:登入 Portainer 之後,在管理主頁面點擊先前所建立的「local」環境。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 2:然後會進入儀表板,點擊其中的「Images」項目。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 3:接著在「Pull image」的欄目中,按下「Search」的按鈕來搜尋可下載的映像檔。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 4:此時瀏覽器會另開一個新視窗,並跳至 Docker Hub 官方網頁。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 5:如果不知道要下載哪一種 Image,也可以透過左側類別欄目來篩選。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 6:亦可透過搜尋列搜索,這裡以「youtubedlmaterial」為例,選擇更新時間近且下載人數較多的版本。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 7:點擊進入該映像檔的資訊頁後,可以按下右方「Copy」鍵複製指令檔。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 8:將頁面往下滑,有些開發者會提供該應用程式的詳細說明與教學。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 9:回到步驟 3 的 Portainer 頁面,將剛剛所複製的指令檔貼至 Image 的欄位。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 10:注意要先將指令檔中的「docker pull」刪除後,再按下「Pull the image」按鈕。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 11:等待下載完成後,該映像檔便會出現在下方列表,並標示「Unused」等待進一步部署。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

利用映像檔來部署 Docker 容器

當你已經透過 Docker Hub 成功下載所需的映像檔後,接下來便可以透過Portainer 來部署對應的容器(Container)。相較於純粹使用指令操作,Portainer 提供了更為直觀的圖形化介面,有助於理解整體流程。不過,容器部署過程中仍涉及多項細節設定,對初學者來說可能略顯繁瑣,因此建議先從功能單純的應用著手。這裡以先前下載的「youtubedl-material」為例,這是一款能下載 YouTube 影片的便利工具,能下載影片、聲音檔,且不會像免費軟體一樣限制畫質或強迫看廣告,適合用來練習與入門容器部署。

步驟 1:一開始同樣在管理主頁面點擊先前所建立的「local」環境。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 2:在儀表板點擊其中的「Containers」項目。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 3:點擊右上角的「Add containers」。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 4:自訂新建容器的名稱,然後在 Image 鍵入關鍵字,即可找到已下載的Image。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 5:建議開啟「自動對映埠口」的開關,完成後按下「Deploy the container」進行部署。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 6:容器部署完成會便會立即啟動,並顯示在容器列表之中。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 7:往右可以看到其對外開放的通訊埠口,左邊的數字 32774 為主機的埠口,將其記錄下來。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 8:開啟新瀏覽器視窗填入 NAS 網址,並在網址後鍵入埠口號碼「:32774」,便可開啟應用。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 9:如同一般的影片下載器,貼上 YT 網址、選擇畫質即可按「Download」下載。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 10:點入後可看到連影片資訊也可一併保存,並可另外下載至電腦或分享。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

步驟 11:之後如果需要暫停、重啟或刪除容器,也可以透過 Portainer 的容器列表進行管理。

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

本文同步刊載於 PC home 雜誌

用 Docker 玩轉家用 NAS:從入門概念到部署應用,Step by Step 完全學會

歡迎加入 PC home 雜誌粉絲團

小治
作者

《PC Home 電腦家庭》雜誌及 T 客邦網站編輯。負責遊戲類型新聞及評析、軟體應用教學及企劃撰寫、電腦相關周邊硬體測試,以及打雜…

使用 Facebook 留言
許顧問
1.  許顧問 (發表於 2025年5月29日 18:03)
家用 NAS 在升級後除了儲存功能外,更能提供多媒體串流、資料備份、遠端存取等智慧應用,成為數位生活中不可或缺的核心。文中舉例 Synology 與 QNAP 等品牌透過 App 擴充,讓 NAS 能整合照片管理、影音播放與雲端同步功能。這與http://eternity.why3s.net/viewthread.php?tid=21872">娛樂城排行平台強調多功能整合與使用者體驗提升的方向不謀而合,娛樂城排行透過 AI 與雲端技術讓遊戲資料備份快速穩定,並可跨裝置暢玩,展現如同進階 NAS 系統般的高效與彈性,為玩家提供穩定又智慧化的服務環境。
發表回應
謹慎發言,尊重彼此。按此展開留言規則