在 Synology 7.1 里使用 compose 创建 docker 镜像
在 Synology 7.1 里使用 compose 创建 docker 镜像
因有些老版本的机器只能更新到 Synology 7.1 ,而 Container Manager 在 7.2 才支持,所以需要手动进行一些操作以支持 compose 拉起镜像;
创建网络
- 为了使
docker镜像可以用物理网络的独立IP,故需要创建macvlan网络; - 由于群晖不支持在UI界面创建
macvlan网络,所以需要在命令行下进行操作; - 使用
root登录DSM - 使用
ip addr查看真实网络的网卡信息,并记录网卡的名称,如:eth0,bond0等 - 使用以下命令创建一个网络
docker network create -d macvlan \ --subnet 192.168.1.0/24 \ --gateway 192.168.1.100 \ --ip-range 192.168.1.40/29 \ -o parent=bond0 \ macvlan-net - 使用
docker network ls查看网络是否已成功创建了一个macvlan-net的网络
创建 compose 文件
- 使用
compose文件主要是方便管理,随时可以对参数进行修改; - 由于
transmission 3.0之后的版本,在保种数量达到一定量之后不稳定,所以使用2.94这个稳定版本来进行种子管理,这里选择为2.94-r3-ls53版本 - 创建
/volume1/docker/transmission/compose.yaml文件 - 文件的内容如下:
version: "3.3" services: transmission: image: linuxserver/transmission:2.94-r3-ls53 container_name: transmission-294 ports: - 9091:9091 # 数据端口,根据需要设置 - 53004:53004 - 53004:53004/udp volumes: # 配置目录,种子文件等会保存到该目录下 - ./:/config # 可读写的目录 - /volume1:/volume1 # Web UI 目录 - /volume1/homes/xxx/tr-web-ui:/web restart: unless-stopped environment: PUID: 1026 PGID: 101 # 设置时区 TZ: Asia/Shanghai # 设置 Web UI 目录 TRANSMISSION_WEB_HOME: /web USER: [用户名] PASS: [密码] networks: default: # 指定IP地址 ipv4_address: 192.168.1.40 networks: default: external: name: macvlan-net - 如果用群晖自带的文本编辑器,注意文件编码要选择为
UTF-8; - 如
compose.yaml启动失败,将文件中的中文注释删除后重试;
创建计划任务
- 新建用户自定义脚本,输入以下内容:
cd /volume1/docker/transmission docker-compose -f ./compose.yaml up -d - 启动用户可设置为
root; - 设定为手动启动或开机自启动;
- 执行一次脚本,因涉及到从
docker拉取transmission镜像,所以需要确保网络可连接docker; - 根据网络情况,等几分钟后,访问
http://192.168.1.40:9091,如果正常显示transmission页面,表示镜像已成功拉起; - 注意事项:
- 默认情况下
docker-compose命令应该正常安装 - 如果
docker-compose无法使用,可参考官网手动安装docker-compose
- 默认情况下
浙公网安备 33010602011771号