【docker】通过Docker一键部署群晖NAS!支持自定义内存和CPU、多磁盘挂载、KVM加速!

news/2025/1/30 13:46:32/文章来源:https://www.cnblogs.com/o-O-oO/p/18692877

声明

文中所涉及的技术、思路和工具仅供以学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担。如有需要,请购买正版软件。

今天给大家介绍一个开源项目,让你能够在Linux或者Window11上通过Docker部署群晖NAS,支持多磁盘挂载、KVM加速等等,让你享受原生群晖的NAS体验!

一、说明

本文所使用的为开源项目:vdsm/virtual-dsm,文中所涉及的技术、思路和工具仅供以学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担。如有需要,请购买正版软件。

文章结尾会介绍如何通过修改配置文件来自定义磁盘、内存、CPU!

二、项目介绍

vdsm/virtual-dsm是一个开源项目,让你能够在Docker中运行群晖NAS,支持多磁盘挂载、KVM加速、自定义内存和磁盘大小、CPU核数等特性,让你在强劲的硬件上享受原生群晖的NAS的体验!

三、部署

目前只支持WIndows11和Linux系统,下面分别以Windows和Linux为例,介绍一下如何部署。

3.1 Linux系统部署

1、确认是否支持KVM

首先执行下面的命令确认系统是否支持KVM:

sudo apt install cpu-checker
sudo kvm-ok

如果提示如下信息,就说明支持KVM,可以进行下一步:

INFO: /dev/kvm exists
KVM acceleration can be used

2、启动容器

然后安装Docker Engine,这里不再赘述,大家可以自行查阅资料进行安装。

新建一个文件夹,并创建一个名为 docker-compose.yaml 的文件,如下所示:

其中docker-compose.yaml的内容如下:

services:dsm:container_name: dsmimage: vdsm/virtual-dsmenvironment:DISK_SIZE: "16G"devices:- /dev/kvm- /dev/net/tuncap_add:- NET_ADMINports:- 5000:5000volumes:- /var/dsm:/storagestop_grace_period: 2m

然后在命令行执行下面命令:

docker compose up -d

至此,DSM就部署好了。
3、 访问

在浏览器输入https://ip:5000,其中ip为Linux主机的IP。如下图所示:

经过一番设置,可以进到NAS主页:

3.2 Windows系统部署

1、启动容器

首先需要安装Docker Desktop,这里不再赘述,大家自行安装。

创建一个文件夹,在文件夹内创建一个docker-compose.yaml文件,如下图所示:

其中,docker-compose.yaml 的内容如下:

services:dsm:container_name: dsmimage: vdsm/virtual-dsmenvironment:DISK_SIZE: "16G"devices:- /dev/kvm- /dev/net/tuncap_add:- NET_ADMINports:- 5000:5000volumes:- ./dsm:/storagestop_grace_period: 2m

然后在文件夹中点击右键,选择「在终端中打开」:

然后输入下面命令启动容器:

docker compose up -d

会自动拉取镜像,镜像拉取完之后,就自动启动容器了。

可以在Docker Desktop中看到容器启动的日志:

至此,容器启动完毕。
2、访问

在浏览器输入https://ip:5000,其中ip为Linux主机的IP。如下图所示:

经过一番设置,可以进到NAS主页:

四、其他配置

4.1 修改挂载磁盘的位置

修改docker-compose.yaml中的下面内容:

volumes:- /var/dsm:/storage

其中/var/dsm为本机磁盘的位置

4.2 修改挂载磁盘的大小

修改/添加下面的配置来调整挂载磁盘的大小:

environment:DISK_SIZE: "128G"

4.3 设置可以动态增长的磁盘

修改/添加下面的配置来设置可以动态增长的磁盘:

environment:DISK_FMT: "qcow2"

4.4 挂载多个磁盘

修改/添加下面的配置来挂载多个磁盘:

environment:DISK2_SIZE: "32G"DISK3_SIZE: "64G"
volumes:- /home/example:/storage2- /mnt/data/example:/storage3

4.5 硬盘直通

修改/添加下面的配置来进行硬盘直通:

devices:- /dev/disk/by-uuid/12345-12345-12345-12345-12345:/disk2

4.6 调整内存和CPU

修改/添加下面的配置来调整内存和CPU

environment:RAM_SIZE: "4G"CPU_CORES: "4"

五、总结

本文介绍了如何在Linux和Windows系统通过Docker来部署DSM,支持自定义磁盘、内存和CPU!

原创 Jack Bytes

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/876334.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

渗透测试速成

123123321渗透测试速成 主动信息收集 MSF渗透 python反弹一个交互式shell MySQL基础:登录,增删改查.. 框架识别利用:whatweb 信息收集速通 直接arp-scan -l,快速找到IP地址 然后,nmap -A ip+子网掩码,进行全面扫描 探测目标IP地址: 探测主机:arp-scan -l(推荐) 探测当…

Spring AI 提交 PR 实战指南:避免常见坑

今天,我们将简单地了解如何向 Spring AI 提交 PR(Pull Request)。在这个过程中,有一些常见的坑需要大家注意和避免,特别是在 Git 操作方面。我们会重点关注提交信息的规范,如何进行一次合并提交,以及其他在代码质量和结构上需要遵守的要求。 最后,我们会快速回顾一下与…

第一个java程序,HelloWorld

第一个java程序,HelloWorld创建一个java程序后缀名为java编写代码 public class Hello {public static void main (String[] args) {System.out.println("HelloWorld");} }编译 javac java文件 ,会生成一个class文件运行Java文件,java class文件

[Jest] 整合 webpack 综合练习

这一小节,我们来做一个综合的练习,该练习会整合:typescript webpack jest准备工作 首先创建项目目录,通过 npm init -y 进行初始化。 整个项目我们打算使用 typescript 进行开发,因此需要安装 typescript npm i typescript -D然后通过 npx tsc --init 创建 ts 的配置文件,…

Spring AI + Ollama 实现 deepseek-r1 的API服务和调用

最近DeepSeek开源了对openai-o1的第一代开源推理大模型:deepseek-r1,因其极低的成本和与openai-o1相当的性能引发了国内外的激烈讨论。DD在做独立产品的时候也一直都有用DeepSeek的API来实现一些功能,比如:TransDuck中的字幕翻译、视频翻译,效果也是非常不错的。但是,最近…

OceanBase数据库SQL优化案例一则

一、现象 开发人员反馈同一条sql,sql中where条件in的值的个数不同,执行效率差异巨大。以下是截取的sql的一部分,sql中in的值的个数为为2个或3个时执行时间超过40s,in的值的个数为为1个或大于3个时不到1秒就可以返回执行结果。二、原因分析 看到这种现象,最开始怀疑是数据库…

数据库服务器 SQL Server 版本升级公告

祝大家春节快乐 !在明天(1月28日)的辞旧迎新之际,我们也安排了对园子的数据库服务器进行一次辞旧迎新,从 SQL Server 2016 升级至 SQL Server 2022。 我们使用的是阿里云 RDS 云数据库服务,升级将会由 RDS 自动完成,但在升级过程中的切换阶段会造成有段时间不能正常访问…

两种方式让你用Python轻松在RDKX5上部署推理

作者:SkyXZ CSDN:SkyXZ~-CSDN博客 博客园:SkyXZ - 博客园 宿主机环境:WSL2-Ubuntu22.04+Cuda12.6、D-Robotics-OE 1.2.8、Ubuntu20.04 GPU Docker 端侧设备环境:RDK X5-Server-3.1.0 2025年随着RDK X5的发布,地瓜官方随之也开放了RDK系列DNN推理部署的Python版的…

01. 初识Linux系统

一、什么是Ubuntu系统Ubuntu 操作系统是属于 Linux 操作系统中的一种,它是免费、稳定又可以拥有绚丽界面的一个操作系统。Linux,一般指 GNU/Linux(单独的 Linux 内核并不可直接使用,一般搭配 GNU 套件,故得此称呼),是一种免费使用和自由传播的类 UNIX 操作系统,其内核由…

学习elemetnPlus

学习了elementplus 学习了一个小时 其实就是查文档 做前端

20221320冯泰瑞-实验四密码模块应用实践过程记录

20221320冯泰瑞-实验四密码模块应用实践过程记录 实践要求完成电子公文交换系统,系统功能,(15 分)mindmaproot((电子公文系统))发文公文起草公文查看发文审核(审核员)公文发送公文查询收文公文签收公文查看公文处理公文查询系统管理组织单位用户管理操作员(科员)审核员…

android抓包相关操作指令

adb start-server adb connect 127.0.0.1:16384 adb rootadb shell su # 如果需要root权限mount -o remount,rw /systemadb push D:\\文档\\sixdu文档\\269953fb.0 /data/local/tmp adb push D:\\文档\\sixdu文档\\43b5e6bf.0 /data/local/tmpadb -s emulator-5554 push D:\\文…