Docker 安装 CloudDrive2 指南
[!TIP]
Docker使用systemd管理及部署clouddrive2指南
1. 如何确认 Docker 是否由 systemd 管理
在进行后续操作前,建议先使用systemctl命令确认 Docker 是否以 systemd 服务方式运行:
检查 Docker 服务是否处于活动状态:
systemctl is-active docker若返回 active,说明 Docker 正在通过 systemd 运行。
查看 Docker 服务详细状态:
systemctl status docker若显示 Loaded: not-found (Reason: No such file or directory),则说明 Docker 并非由 systemd 管理。
2. 目录挂载及共享设置
若 Docker 不是以 systemd 运行,需手动执行目录挂载命令,确保数据共享正常:
mount --bind /volume2/other/CloudNAS /volume2/other/CloudNAS
mount --make-shared $(df -P /volume2/other/CloudNAS | tail -1 | awk '{ print $6 }')[!TIP]
mount --bind:将指定目录重新挂载到自身或其他位置,可修改挂载选项。
mount --make-shared:将挂载点设置为“共享”模式,便于容器或分布式文件系统场景下的挂载传播。
-
df -P /path/to/dir:获取目录的挂载信息,-P 保证输出为标准格式。-
tail -1:取输出的最后一行,通常包含所需的挂载点。-
awk '{ print $6 }':提取第六列,即实际挂载路径。
这样设置后,/volume2/other/CloudNAS 会以共享模式挂载。
[!IMPORTANT]
如果未执行上述命令,可能会遇到/volume2/other/CloudNAS not mount point or bad option 报错。
持久化设置
-
mount --make-shared仅在当前系统运行期间生效,重启后需重新执行。 - 若需开机自动挂载,请将该命令添加至控制面板的任务计划,设置为 root 用户、事件为“开机”,任务内容填写:
mount --make-shared $(df -P /volume2/other/CloudNAS | tail -1 | awk '{ print $6 }')3. 群晖 Docker 安装 CloudDrive2 步骤
- 准备文件夹
- 在任意共享文件夹(如 docker)下创建 clouddrive2 文件夹,用于存放 yaml 文件。
- 在 clouddrive2 文件夹下新建 Config 文件夹,用于存放配置文件。
- 在计划映射的共享文件夹内(如 /volume2/other/CloudNAS)创建所需目录。
- 执行目录挂载(如未以 systemd 运行 Docker)
mount --bind /volume2/other/CloudNAS /volume2/other/CloudNAS
mount --make-shared $(df -P /volume2/other/CloudNAS | tail -1 | awk '{ print $6 }')- 创建并配置 Docker 项目
- 打开群晖的 Container Manager 套件,新建项目。
- 项目名称可自定义,路径选择 /volume1/docker/clouddrive2。
- 来源选择“新建 yml”,粘贴以下内容:
version: "3.8"
services:
cloudnas:
image: cloudnas/clouddrive2
container_name: clouddrive2
environment:
- TZ=Asia/Shanghai
- CLOUDDRIVE_HOME=/Config
volumes:
- /volume2/other/CloudNAS:/CloudNAS:shared
- /volume1/docker/clouddrive2/Config:/Config
devices:
- /dev/fuse:/dev/fuse
restart: always
pid: "host"
privileged: true
network_mode: "host"- 完成部署
- 按提示操作,直至部署完成。
- 通过浏览器访问配置页面:
http://<ip>:19798