命令列工具
vdsm/virtual-dsm avatar
vdsm/virtual-dsm

在 Docker 容器中运行 Virtual DSM

此專案圍繞「vdsm/virtual-dsm」建置,面向真實業務場景,提供可重複使用、可持續維運的開源實作。

3,981 個 Star487 個 ForkShellMIT
GitHub

秒懂

它是什麼?
一个在 Docker 中运行 Virtual DSM 的镜像,支持 KVM 加速、可配置存储和多种网络模式。
適合誰用?
README 最后重申,该容器只应在 Synology 硬件上运行,并且项目与 Synology 无关。MIT 许可证声明该软件按现状提供,不附带任何担保。
可以商用嗎?
可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 13 天前。
用什麼語言寫的?
主要是 Shell(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。

開源專案深度解析

Virtual DSM 在 Docker 容器中 · vdsm-virtual-dsm-deep-analysis

该项目将自身描述为 Docker 容器中的 Virtual DSM。它使用 Shell 编写,并以 MIT 许可证发布。README 说明该容器运行 Virtual DSM,自动下载安装文件,并提供基于 Web 的 DSM 桌面访问。它还将 KVM 加速下的近原生性能列为特性,同时支持自定义 CPU、内存和存储分配。

运行要求与受支持的主机 · vdsm-virtual-dsm-deep-analysis

README 指定了两种受支持的运行方式:在具有 KVM 支持的 Linux 主机上使用 Docker 或 Podman,或在启用嵌套虚拟化的 Windows 11 上使用 Docker Desktop 或 Podman Desktop。至少需要 2 GB 内存和 32 GB 可用磁盘空间。Linux、macOS 和 Windows 10 上的 Docker Desktop 不受支持,因为它不会向容器提供 KVM 访问。README 没有说明除了 /dev/kvm 之外还需要哪些 KVM 特性或 CPU 型号。

通过 Docker Compose、CLI 或 Kubernetes 启动 · vdsm-virtual-dsm-deep-analysis

README 提供了一个使用镜像 vdsm/virtual-dsm 的 Docker Compose 服务示例。示例将 DISK_SIZE 设为 256G,将 /dev/kvm 和 /dev/net/tun 传入容器,添加 NET_ADMIN 能力,映射端口 5000,并将 ./dsm 挂载到 /storage。还展示了一条具有相同选项的 docker run 命令,以及一个用于 Kubernetes 清单的 kubectl apply URL。没有给出从源码构建镜像的说明。

存储、磁盘、CPU 和 GPU 设置 · vdsm-virtual-dsm-deep-analysis

FAQ 说明了如何通过替换 compose 文件中的绑定挂载来更改存储位置。磁盘大小由 DISK_SIZE 控制,可以通过 DISK2_SIZE、DISK3_SIZE 和相应的卷来添加额外磁盘。物理磁盘或分区可以通过 devices 条目直通。CPU 和内存通过 CPU_CORES 和 RAM_SIZE 设置,默认值为 2 核和 2 GB。GPU 直通使用 GPU: "Y" 和 /dev/dri,README 表示这可以启用 Synology Photos 中的人脸识别功能,但不提供视频硬件转码。

网络模式与 IP 分配 · vdsm-virtual-dsm-deep-analysis

默认情况下,容器使用桥接网络,并与宿主机共享 IP。为了给容器分配独立 IP,README 展示了使用 docker network create 创建 macvlan 网络,并将容器连接到该网络。README 指出,由于 macvlan 的设计,容器无法从 Docker 宿主机访问,并建议使用第二个 macvlan 作为解决办法。它还描述了一种 DHCP 模式,通过设置 DHCP: "Y"、添加 /dev/vhost-net 和 device_cgroup_rule,让 DSM 向路由器请求 IP。

版本选择与 KVM 验证 · vdsm-virtual-dsm-deep-analysis

默认安装的 DSM 版本是 7.2。要安装旧版本,可以将 URL 设置为 .pat 文件的下载地址,或者将本地 .pat 文件绑定到 /boot.pat,这会覆盖 URL。README 表示可以在保留文件数据的同时切换版本。要验证 KVM,它建议安装 cpu-checker 并运行 kvm-ok,并检查 /dev/kvm 是否存在。如果 kvm-ok 成功但容器仍报告 KVM 不可用,建议临时设置 privileged: true 以排除权限或设备访问问题。

与标准 DSM 的差异及法律条款 · vdsm-virtual-dsm-deep-analysis

README 列出了与标准 DSM 的两个区别:Virtual Machine Manager 不可用,Surveillance Station 不包含免费许可证。在法律问题上,它表示该项目只包含开源代码,不分发 Synology 拥有的材料,也不试图规避版权保护。然而,安装 Virtual DSM 需要接受 Synology 的 EULA,该协议不允许在非 Synology 硬件上安装,因此 README 建议只在官方 Synology NAS 上运行该容器。MIT 许可证授予使用、复制、修改、合并、发布、分发、再许可和出售软件的权利,但不提供任何担保并免除责任。

在 vdsm-virtual-dsm-deep-analysis 的判讀中,第 1 個專案檢查點是「virtual-dsm 的 Docker 映像、DSM 啟動、環境變數、儲存掛載、網路連接與硬體限制」。測試時只改變一個條件,並留下原始輸入、執行命令、完整日誌與產物名稱。對照 README 的實際範例,檢查流程是否真的進入指定模組,輸出格式、檔案位置、畫面狀態或查詢答案是否符合該專案的描述。若出現錯誤,先記錄錯誤文字和觸發條件,再分辨依賴、權限、作業系統、硬體或資料本身的影響。素材未說明的效能、版本相容性、資料安全與復原能力,不在本文中延伸承諾。這種記錄方式能讓 vdsm-virtual-dsm-deep-analysis 的功能判斷連回具體檔案與命令,也能避免把其他工具的經驗誤套到本專案。

在 vdsm-virtual-dsm-deep-analysis 的判讀中,第 2 個專案檢查點是「virtual-dsm 的 Docker 映像、DSM 啟動、環境變數、儲存掛載、網路連接與硬體限制」。測試時只改變一個條件,並留下原始輸入、執行命令、完整日誌與產物名稱。對照 README 的實際範例,檢查流程是否真的進入指定模組,輸出格式、檔案位置、畫面狀態或查詢答案是否符合該專案的描述。若出現錯誤,先記錄錯誤文字和觸發條件,再分辨依賴、權限、作業系統、硬體或資料本身的影響。素材未說明的效能、版本相容性、資料安全與復原能力,不在本文中延伸承諾。這種記錄方式能讓 vdsm-virtual-dsm-deep-analysis 的功能判斷連回具體檔案與命令,也能避免把其他工具的經驗誤套到本專案。

在 vdsm-virtual-dsm-deep-analysis 的判讀中,第 3 個專案檢查點是「virtual-dsm 的 Docker 映像、DSM 啟動、環境變數、儲存掛載、網路連接與硬體限制」。測試時只改變一個條件,並留下原始輸入、執行命令、完整日誌與產物名稱。對照 README 的實際範例,檢查流程是否真的進入指定模組,輸出格式、檔案位置、畫面狀態或查詢答案是否符合該專案的描述。若出現錯誤,先記錄錯誤文字和觸發條件,再分辨依賴、權限、作業系統、硬體或資料本身的影響。素材未說明的效能、版本相容性、資料安全與復原能力,不在本文中延伸承諾。這種記錄方式能讓 vdsm-virtual-dsm-deep-analysis 的功能判斷連回具體檔案與命令,也能避免把其他工具的經驗誤套到本專案。

在 vdsm-virtual-dsm-deep-analysis 的判讀中,第 4 個專案檢查點是「virtual-dsm 的 Docker 映像、DSM 啟動、環境變數、儲存掛載、網路連接與硬體限制」。測試時只改變一個條件,並留下原始輸入、執行命令、完整日誌與產物名稱。對照 README 的實際範例,檢查流程是否真的進入指定模組,輸出格式、檔案位置、畫面狀態或查詢答案是否符合該專案的描述。若出現錯誤,先記錄錯誤文字和觸發條件,再分辨依賴、權限、作業系統、硬體或資料本身的影響。素材未說明的效能、版本相容性、資料安全與復原能力,不在本文中延伸承諾。這種記錄方式能讓 vdsm-virtual-dsm-deep-analysis 的功能判斷連回具體檔案與命令,也能避免把其他工具的經驗誤套到本專案。

在 vdsm-virtual-dsm-deep-analysis 的判讀中,第 5 個專案檢查點是「virtual-dsm 的 Docker 映像、DSM 啟動、環境變數、儲存掛載、網路連接與硬體限制」。測試時只改變一個條件,並留下原始輸入、執行命令、完整日誌與產物名稱。對照 README 的實際範例,檢查流程是否真的進入指定模組,輸出格式、檔案位置、畫面狀態或查詢答案是否符合該專案的描述。若出現錯誤,先記錄錯誤文字和觸發條件,再分辨依賴、權限、作業系統、硬體或資料本身的影響。素材未說明的效能、版本相容性、資料安全與復原能力,不在本文中延伸承諾。這種記錄方式能讓 vdsm-virtual-dsm-deep-analysis 的功能判斷連回具體檔案與命令,也能避免把其他工具的經驗誤套到本專案。

編輯結論

README 最后重申,该容器只应在 Synology 硬件上运行,并且项目与 Synology 无关。MIT 许可证声明该软件按现状提供,不附带任何担保。 对 Virtual DSM 的判断应先满足 KVM、存储持久化和 Synology EULA 的约束。

官方來源

  1. Official README
  2. Project repository
  3. Release notes
社群筆記

社群筆記