这是一个在docker中安装群辉系统的操作,不是在群辉里面安装docker。虽然也可以在虚拟机里面安装群辉DSM系统,但是在docker里面部署会更便捷一些,使用的镜像来自vdsm/virtual-dsm。
github的项目地址:https://github.com/vdsm/virtual-dsm
在项目的首页里面就有提供了镜像的启动方式,这里提供了自己经过优化后的启动,以及演示整个启动的过程。
拉取群晖DSM的Docker镜像
首先,docker因为不可知的原因,官方源不可用,国内源除了少数源可用外也不可用,配置一个阿里或者daocloud的可用源之后,通过Docker命令来拉取需要的镜像。
sean@ctrdemo:~$ sudo docker pull vdsm/virtual-dsm
Using default tag: latest
latest: Pulling from vdsm/virtual-dsm
18f3c70f2333: Pull complete
4f640e782d43: Pull complete
8387600ddafe: Pull complete
b5ec3e97e2d3: Pull complete
e78c8812e640: Pull complete
599e115a7ebc: Pull complete
Digest: sha256:e4ed3e3e568794e20571128ddc2bef5de8b231636dda6eb1cc5b6e70a36dedaa
Status: Downloaded newer image for vdsm/virtual-dsm:latest
docker.io/vdsm/virtual-dsm:latest
运行群晖的Docker容器
接下来,使用刚刚拉取的镜像来启动一个Docker容器,容器的启动默认会检查是否有16G以上的磁盘空间。先指定一个目录用于挂载DSM的存储目录。
docker run -d --name synology-nas -p 5000:5000 -v /data:/storage --device=/dev/kvm --cap-add NET_ADMIN vdsm/virtual-dsm
确保 /path/to/data 替换成你本地希望挂载的路径。
- "-d"表示后台运行
- "--name"指定容器的名称为synology-nas
- "-v"用于挂载数据卷,确保容器中的数据可以持久化
- "-p"用于端口映射,将5000端口映射到宿主机
验证容器是否正常启动并配置系统
经过约一两分钟的等待,在浏览器中输入 http://<your_nas_ip>:5000,检查是否能够访问群晖的Web界面。这里需要确保网络设置正确。如果出现下面的界面,证明容器已经正常启动,可以进入DSM的配置了。

点击【开始】按键,开始配置DSM,需要填写的内容有设备名称;管理员账户,用户登录系统用到的账户,不能为admin或者root;密码和确认密码,必须混合大小写字母的八位以上的密码。Web Assistant的勾选可要可不要。填写完毕后点击【下一步】。

更新选项建议选择【当有可用的DSM或套件更新时通知我,我会手动安装】,再点击【下一步】

接下里的一步选择跳过即可

设备分析改进服务也不用勾选,点击【提交】即可。

然后就可以进入DSM的桌面了,双重验证功能看你自己的需要是否启用,这里的演示我选择【不用来,谢谢】不启用双重验证。

点击【放弃保护我的账户】

点击【确定】,放弃启用2FA和Adaptive MFA的账户保护,(账号保护根据自己的需求而定)

放弃账户保护后,就进入到群晖DSM系统熟悉的桌面了。

接下来是使用就和普通的群辉使用无异了。
套件中心

控制面板

至此,一个简单的利用docker容器启动的群辉DSM就启动完成,可以使用了。如果需要添加过个存储空间,可以在启动的时候挂载多个挂载卷。分别挂载到storage2、storage3。更多的配置项可以在github的项目readme.md中找到。
如果需要控制存储空间的大小,建议使用docker-compose方式启动,并且通过environment中的DISK_SIZE、DISK2_SIZE、DISK3_SIZE进行控制。
如果需要开启samba、ssh等服务,记得在启动时映射22、445等端口。
关于使用docker-compose启动多个存储空间的DSM系统,将在后续的文章中新开一篇。