记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

Virtual DSM for Docker-在Docker中跑的群晖(完美体验正版群晖)

Virtual DSM for Docker-在Docker中跑的群晖(完美体验正版群晖)

Virtual DSM for Docker可以在ARM64和X86平台上跑,可玩性比较高。设备必须支持KVM,实质就是KVM虚拟机。
docker-compose.yml
XML/HTML代码
  1. version: "3"
  2. services:
  3.     dsm:
  4.         container_name: dsm
  5.         image: vdsm/virtual-dsm:latest
  6.         environment:
  7.             CPU_CORES: "1"
  8.             DISK_SIZE: "16G"
  9.             RAM_SIZE: "512M"
  10.         devices:
  11.             - /dev/kvm
  12.             - /dev/vhost-net
  13.         device_cgroup_rules:
  14.             - 'c *:* rwm'
  15.         cap_add:
  16.             - NET_ADMIN
  17.         ports:
  18.             - 5000:5000
  19.         volumes:
  20.             - /opt/dsm:/storage
  21.         restart: on-failure
  22.         stop_grace_period: 1m
docker run
XML/HTML代码
  1. 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代码
  1. environment:
  2.     DISK_SIZE: "256G"
这也可用于将现有磁盘调整为更大的容量,而不会丢失数据。
更改虚拟磁盘的位置:
要从默认 Docker 卷更改虚拟磁盘的位置,请在撰写文件中包括以下绑定装载:
XML/HTML代码
  1. volumes:
  2.     - /opt/dsm/data:/storage
更改虚拟磁盘保留的空间:
默认情况下,将提前保留整个磁盘空间。要创建仅保留实际使用的空间的可增长磁盘,请添加以下环境变量:
XML/HTML代码
  1. environment:
  2.     ALLOCATE: "N"
不会影响任何现有磁盘,它仅适用于新创建的磁盘。
增加 CPU 或 RAM 的数量:
默认情况下,将单个内核和 512 MB RAM 分配给容器。要增加此值,请添加以下环境变量:
XML/HTML代码
  1. environment:
  2.     CPU_CORES: "4"
  3.     RAM_SIZE: "2048M"
验证系统是否支持 KVM:
XML/HTML代码
  1. sudo apt install cpu-checker
  2. sudo kvm-ok
如果您收到指示无法使用 KVM 加速的错误,请检查您的 BIOS 设置。kvm-ok
为容器分配单个 IP 地址:
默认情况下,容器使用桥接网络,该网络与主机共享 IP 地址。
如果要为容器分配单个 IP 地址,可以按如下方式创建 macvlan 网络:
XML/HTML代码
  1. docker network create -d macvlan \
  2.     --subnet=192.168.0.0/24 \
  3.     --gateway=192.168.0.1 \
  4.     --ip-range=192.168.0.100/28 \
  5.     -o parent=eth0 vdsm
请务必修改这些值以匹配本地子网。
创建网络后,将撰写文件更改为如下所示:
XML/HTML代码
  1. services:
  2.     dsm:
  3.         container_name: dsm
  4.         ..<snip>..
  5.         networks:
  6.             vdsm:
  7.                 ipv4_address: 192.168.0.100
  8.   
  9. networks:
  10.     vdsm:
  11.         external: true
容器如何从我的路由器获取 IP 地址:
使用DHCP网络安装DSM
XML/HTML代码
  1. environment:
  2.     DHCP: "Y"
  3. devices:
  4.     - /dev/vhost-net
  5. device_cgroup_rules:
  6.     - 'c *:* rwm'
请注意,即使您不需要 DHCP,仍然建议启用此功能,因为它可以防止 NAT 问题并通过使用接口提高性能。macvtap
如何安装特定版本的 vDSM:
默认情况下,将安装版本 7.2,但如果您更喜欢旧版本,则可以将其 URL 添加到撰写文件中,如下所示:
XML/HTML代码
  1. environment:
  2.     URL: "https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_VirtualDSM_42218.pat"
使用此方法,您可以在保留文件数据的同时在不同版本之间切换。
与标准 DSM 相比有什么区别:
只有两个细微的区别:不提供虚拟机管理器软件包,并且监控站不包括任何免费许可证。

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):