把容器放對地方,NAS 體感會差很多。

把 Docker 容器移到 Synology NAS 的 NVMe SSD,通常是最有感的升級之一。這篇整理正確的資料夾遷移方式、Volume 規劃、停機順序與常見踩雷點,避免搬遷過程資料遺失。

Synology Docker 搬到 NVMe SSD:資料夾、Volume 與風險一次整理

如果你在 Synology NAS 上跑 Docker,最值得優先搬到 NVMe SSD 的,往往不是影片,也不是照片,而是容器本身。

原因很簡單:容器與資料庫的讀寫模式,常常充滿大量小檔隨機 I/O。這種工作負載放在 HDD 上,會比你想像中更容易拖慢整台 NAS 的體感。

🎯 這篇適合誰

你的情況 建議先看哪段
想知道搬過去有沒有效果 哪些服務最適合搬到 NVMe
直接看搬遷步驟 建議搬遷流程
怕搬壞,先看風險 最常見的 5 個踩雷點
只看結論建議 我會推薦的做法

Docker 資料夾搬到 NVMe SSD:搬前 HDD vs 搬後 NVMe 效能對比

🎯 哪些服務最適合搬到 NVMe

以下這些我會優先考慮:

  • Home Assistant
  • Nginx Proxy Manager
  • Vaultwarden
  • qBittorrent
  • PostgreSQL / MariaDB
  • Immich
  • Grafana / Prometheus
  • 各種需要頻繁寫入 metadata 的容器

如果你的容器只是偶爾跑一下、也不吃 I/O,那就不用為了搬而搬。


📦 搬遷前先搞懂兩件事

1. 你的容器資料不只是一個資料夾

Docker 在 Synology 上,通常會涉及:

  • 映像檔
  • container writable layer
  • bind mount 資料夾
  • named volume
  • 資料庫檔案
  • 設定檔

真正要搬的,常常是「容器持久化資料」,不是單純把 Docker 套件移位置就結束。

2. 搬遷重點不是速度,是一致性

很多人搬完之後服務起不來,不是因為操作很難,而是因為:

  • 沒有先停容器
  • 複製過程中資料還在被寫入
  • 權限沒保留
  • compose 路徑沒有一起改

所以流程正確比快更重要。


🗂️ 建議的資料夾規劃

如果你的 NVMe 儲存空間已經建立好了,我會建議先規劃一個清楚的結構:

/volume2/docker/
  appdata/
    homeassistant/
    immich/
    vaultwarden/
    postgres/
  compose/
  backups/

這樣的好處是:

  • 所有容器資料集中管理
  • 備份路徑明確
  • 之後重建或搬機比較輕鬆

📋 建議搬遷流程

Step 1:盤點你有哪些容器資料

先確認以下資訊:

  • 哪些容器最吃 I/O
  • 哪些服務的資料量最大
  • 哪些是不能中斷太久的
  • 哪些使用 bind mount,哪些使用 named volume

建議先從 1 到 2 個服務開始,不要第一次就全搬。

Step 2:先做備份

至少做兩種:

  1. 容器設定檔備份
  2. 資料夾或資料庫 dump 備份

如果是 PostgreSQL 或 MariaDB,最好先做一次邏輯備份,不要只相信檔案複製。

Step 3:停止容器

搬資料前,一定先停掉相關容器。

如果你用 Compose 管理,建議直接整組停:

docker compose down

如果是單容器,也至少要停止該服務,不要邊跑邊搬。

Step 4:複製資料並保留權限

搬遷重點是保留:

  • 檔案權限
  • 時間戳
  • 目錄結構

你可以使用 rsync 或保留屬性的複製方式。搬完後再檢查新位置內容是否完整。

Step 5:更新路徑設定

如果你原本的 bind mount 是:

/volume1/docker/appdata/immich

搬完後就要改成:

/volume2/docker/appdata/immich

不要忘了連 Compose 檔、環境變數、備份腳本都一起改。

Step 6:重新啟動並驗證

啟動後要檢查:

  • 容器是否正常啟動
  • 網頁有沒有打得開
  • 日誌有沒有權限錯誤
  • 資料有沒有正確讀回來

🚀 哪些服務搬過去最有感

Immich

這類需要大量縮圖、metadata、資料庫配合的服務,放到 NVMe 通常差很多。

Home Assistant

如果你安裝很多 integration、history、logbook,UI 反應與資料寫入穩定度通常都會改善。

PostgreSQL / MariaDB

資料庫本身就是超典型的 SSD 受益者。查詢、索引、寫入體感會最直接。

qBittorrent

如果你下載量大、檔案多、種子數量高,把設定檔與暫存放到 NVMe,整體操作會順得多。


⚠️ 最常見的 5 個踩雷點

1. 沒停容器就直接複製

最容易導致資料不一致。

2. 只搬資料夾,沒改 compose

重啟後服務還是讀舊路徑,等於白搬。

3. 沒注意 UID / GID

有些映像對權限非常敏感,尤其是 LinuxServer 系列或資料庫容器。

4. 低估備份重要性

搬遷不是壞事,但它就是一種變更。只要是變更,就應該先有回退方案。

5. 全部服務一次搬

如果一次搬十幾個容器,問題發生時很難定位。先小規模驗證比較穩。


✅ 我會推薦的做法

如果你是第一次搬 Docker 到 NVMe,我會建議這樣做:

  1. 先選一個最有感、風險中等的服務
  2. 做備份
  3. 停止容器
  4. 搬資料
  5. 改路徑
  6. 重啟驗證
  7. 穩定後再處理下一個服務

這樣做雖然慢一點,但很適合長期維護。


❓ 常見問題

Q1:是搬 Docker 套件,還是搬容器資料夾?

A: 對大多數人來說,真正有價值的是搬「容器持久化資料」,不是只搬套件本身。

Q2:可以把所有下載資料也放在 NVMe 嗎?

A: 可以,但要看容量與 SSD 壽命。大量長期下載不一定划算,很多人只會把暫存和 metadata 放到 NVMe。

Q3:如果容器已經很多,值得重搬嗎?

A: 如果你明顯感受到卡頓,特別是資料庫、縮圖、索引類容器,那通常很值得。

Q4:DSM 更新會影響 Docker 路徑嗎?

A: 一般不至於直接改掉你的資料夾,但每次大更新後都建議快速驗證容器與掛載設定是否正常。


✨ 總結

Docker 搬到 NVMe SSD,通常是 Synology 上最有感的一次性能升級。

但真正關鍵不只是搬,而是要搬得有規劃:知道哪些資料要動、哪些服務先搬、怎麼保留回退空間。

🔗 延伸閱讀

只要流程穩,這個升級通常很值得做。

這篇有幫助嗎? 把容器放對地方,NAS 體感會差很多。