Virtual DSM for Docker-在Docker中跑的群晖(完美体验正版群晖)
Virtual DSM for Docker可以在ARM64和X86平台上跑,可玩性比较高。设备必须支持KVM,实质就是KVM虚拟机。
docker-compose.yml
XML/HTML代码
- version: "3"
- services:
- dsm:
- container_name: dsm
- image: vdsm/virtual-dsm:latest
- environment:
- CPU_CORES: "1"
- DISK_SIZE: "16G"
- RAM_SIZE: "512M"
- devices:
- - /dev/kvm
- - /dev/vhost-net
- device_cgroup_rules:
- - 'c *:* rwm'
- cap_add:
- - NET_ADMIN
- ports:
- - 5000:5000
- volumes:
- - /opt/dsm:/storage
- restart: on-failure
- stop_grace_period: 1m
docker run
XML/HTML代码
- docker run -it --rm -p 5000:5000 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 60 vdsm/virtual-dsm:latest
要扩展 16 GB 的默认大小,请在撰写文件中找到该设置并将其修改为首选容量:DISK_SIZE
XML/HTML代码
- environment:
- DISK_SIZE: "256G"
这也可用于将现有磁盘调整为更大的容量,而不会丢失数据。
更改虚拟磁盘的位置:要从默认 Docker 卷更改虚拟磁盘的位置,请在撰写文件中包括以下绑定装载:
XML/HTML代码
- volumes:
- - /opt/dsm/data:/storage
默认情况下,将提前保留整个磁盘空间。要创建仅保留实际使用的空间的可增长磁盘,请添加以下环境变量:
XML/HTML代码
- environment:
- ALLOCATE: "N"
增加 CPU 或 RAM 的数量:
默认情况下,将单个内核和 512 MB RAM 分配给容器。要增加此值,请添加以下环境变量:
XML/HTML代码
- environment:
- CPU_CORES: "4"
- RAM_SIZE: "2048M"
XML/HTML代码
- sudo apt install cpu-checker
- sudo kvm-ok
为容器分配单个 IP 地址:
默认情况下,容器使用桥接网络,该网络与主机共享 IP 地址。
如果要为容器分配单个 IP 地址,可以按如下方式创建 macvlan 网络:
XML/HTML代码
- docker network create -d macvlan \
- --subnet=192.168.0.0/24 \
- --gateway=192.168.0.1 \
- --ip-range=192.168.0.100/28 \
- -o parent=eth0 vdsm
请务必修改这些值以匹配本地子网。
创建网络后,将撰写文件更改为如下所示:
XML/HTML代码
- services:
- dsm:
- container_name: dsm
- ..<snip>..
- networks:
- vdsm:
- ipv4_address: 192.168.0.100
- networks:
- vdsm:
- external: true
使用DHCP网络安装DSM
XML/HTML代码
- environment:
- DHCP: "Y"
- devices:
- - /dev/vhost-net
- device_cgroup_rules:
- - 'c *:* rwm'
如何安装特定版本的 vDSM:
默认情况下,将安装版本 7.2,但如果您更喜欢旧版本,则可以将其 URL 添加到撰写文件中,如下所示:
XML/HTML代码
- environment:
- URL: "https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_VirtualDSM_42218.pat"
与标准 DSM 相比有什么区别:
只有两个细微的区别:不提供虚拟机管理器软件包,并且监控站不包括任何免费许可证。