群晖(docker版)

X86

# 定义服务集合
services:
  # 服务名称:dsm(可自定义,用于标识此服务)
  dsm:
    # 容器名称:dsm(启动后容器的实际名称,便于识别和管理)
    container_name: dsm
    # 使用的镜像:vdsm/virtual-dsm(基于此镜像创建容器,该镜像用于运行虚拟DSM系统)
    image: vdsm/virtual-dsm
    # 环境变量配置
    environment:
      # 虚拟磁盘大小设置为256GB(指定DSM系统使用的虚拟存储容量)
      DISK_SIZE: "256G"
    # 设备映射(将宿主机的设备挂载到容器中,提供硬件支持)
    devices:
      # 挂载kvm设备,用于支持硬件虚拟化加速(提升DSM虚拟机性能)
      - /dev/kvm
      # 挂载tun设备,用于支持虚拟网络接口(实现容器内网络隧道功能)
      - /dev/net/tun
    # 添加Linux系统能力(赋予容器额外的系统权限)
    cap_add:
      # 授予网络管理员权限(允许容器配置网络、创建虚拟网卡等操作)
      - NET_ADMIN
    # 端口映射(宿主机端口:容器内端口)
    ports:
      # 将宿主机的5000端口映射到容器内的5000端口(DSM默认管理界面端口)
      - 5000:5000
    # 数据卷挂载(持久化存储容器数据)
    volumes:
      # 将宿主机当前目录下的dsm文件夹挂载到容器内的/storage目录
      # 用于持久化保存DSM系统的数据(如配置、文件等,避免容器删除后数据丢失)
      - ./dsm:/storage
    # 重启策略:always(容器退出后总是自动重启,保证服务持续运行)
    restart: always
    # 优雅停止等待时间:15分钟(容器停止时最多等待15分钟,确保数据保存等操作完成)
    stop_grace_period: 15m

ARM(有点慢。。。)

# 定义服务列表(Docker Compose 配置的核心节点,包含所有要运行的服务)
services:
  # 服务名称:dsm(自定义名称,用于在 Compose 中标识该服务,可根据需求修改)
  dsm:
    # 容器名称:dsm(指定容器运行时的名称,便于通过 docker 命令直接操作该容器,如 docker logs dsm)
    container_name: dsm
    # 使用的镜像:vdsm/virtual-dsm(基于此镜像创建容器,该镜像用于在 Docker 中运行虚拟的 Synology DSM 系统)
    image: vdsm/virtual-dsm
    # 环境变量配置(为容器内的应用程序提供运行时参数)
    environment:
      # 设置虚拟磁盘大小为 110GB(指定分配给虚拟 DSM 系统的存储空间,需根据实际需求调整)
      DISK_SIZE: "110G"
    # 端口映射(将宿主机端口与容器内端口绑定,实现外部网络访问容器服务)
    ports:
      # 将宿主机的 5000 端口映射到容器的 5000 端口(DSM 系统默认的 HTTP 管理界面端口)
      - 5000:5000
      # 将宿主机的 5001 端口映射到容器的 5001 端口(DSM 系统默认的 HTTPS 管理界面端口,用于加密访问)
      - 5001:5001
    # 数据卷挂载(将宿主机目录与容器内目录关联,实现容器数据的持久化存储,避免容器删除后数据丢失)
    volumes:
      # 将当前目录下的 dsm 文件夹挂载到容器内的 /storage 目录(存储虚拟 DSM 的系统数据、配置和用户文件等)
      - ./dsm:/storage
     # 重启策略:always(容器退出时总是自动重启,确保服务在意外停止后能自动恢复运行)
    restart: always
    # 停止宽限期:15分钟(容器停止时,Docker 会等待15分钟让 DSM 系统完成数据保存和优雅关闭,再强制终止容器)
    stop_grace_period: 15m

 

© 版权声明
THE END
喜欢就支持一下吧
点赞11赞赏 分享