使用 docker 部署 clouddrive2(踩坑总结)

之前用 docker 部署 clouddrive2,出现了文件夹无法挂载,这里记录一下解决的方法

sudo mount --bind /volume1/docker/clouddrive2(这个就是你要给的路径) /volume1/docker/clouddrive2 (这个就是你要给的路径)
sudo mount --make-shared /volume1/docker/clouddrive2/ (这个就是你要给的路径)

直接用命令安装,群晖自带的的我不知道怎么设置文件夹为 shared

docker run -d \
    --name clouddrive \
    --restart unless-stopped \
    --env CLOUDDRIVE_HOME=/Config \
    -v <path to accept cloud mounts>:/CloudNAS:shared \
    -v <path to app data>:/Config \
    -v <other local shared path>:/media:shared \
    --network host \
    --pid host \
    --privileged \
    --device /dev/fuse:/dev/fuse \
    cloudnas/clouddrive2

clouddrive2 默认端口是 19798,如果需要自定义端口映射,需要按下面的做

Docker 命令中添加端口映射,可以使用 -p 选项。假设你想将容器的 19798 端口映射到主机的 8080 端口,命令可以如下修改:

注意:由于你已经在使用 --network host 选项,这意味着容器将使用主机的网络堆栈,在这种模式下,端口映射将被忽略。因此,如果你希望使用端口映射,你需要移除 --network host 选项。完整的命令如下:

原本默认DNS是 8.8.8.8 可能出现无法访问,建议手动设置 dns

docker run -d \
    --name 8076_clouddrive \
    --restart unless-stopped \
    --env CLOUDDRIVE_HOME=/Config \
    -v /volume1/docker/clouddrive2/CloudNAS:/CloudNAS:shared \
    -v /volume1/docker/clouddrive2/Config:/Config \
    -v /volume1/docker/clouddrive2/media:/media:shared \
    -p 8080:19798 \
    --pid host \
    --privileged \
    --device /dev/fuse:/dev/fuse \
    --dns 180.76.76.76 \
    cloudnas/clouddrive2```

这样配置后,容器内部的 `19798` 端口将会映射到主机的 `8080` 端口。根据实际需求调整端口号即可。
<think> 我们正在讨论在CoreELEC系统中使用Docker安装CloudDrive的方法。根据引用内容,用户已经提供了CloudDriveDocker运行命令和配置方法,但需要针对CoreELEC系统进行适配。 CoreELEC是一个轻量级的Linux发行版,专为运行Kodi的娱乐设备设计。它支持Docker,但需要注意以下几点: 1. CoreELEC默认存储空间有限,需将Docker数据目录设置到大容量存储设备 2. CoreELEC的Docker服务默认未启用,需手动开启 3. 需要确保内核支持FUSE(通常已启用) ### 安装步骤 #### 1️⃣ 准备存储设备 在CoreELEC中,通常将大容量存储设备挂载在`/storage`目录下。我们需要创建CloudDrive的工作目录: ```bash # 创建配置和数据目录 mkdir -p /storage/clouddrive/config mkdir -p /storage/clouddrive/data ``` #### 2️⃣ 启用Docker服务 在CoreELEC中: - 通过SSH登录系统 - 启用Docker服务: ```bash systemctl enable docker systemctl start docker ``` #### 3️⃣ 获取Docker镜像 由于网络原因,建议使用国内镜像源。在CoreELEC中创建或修改`/storage/.kodi/userdata/docker/daemon.json`: ```json { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com" ] } ``` 重启Docker服务: ```bash systemctl restart docker ``` #### 4️⃣ 运行CloudDrive容器 根据引用[1]中的命令,适配CoreELEC路径: ```bash docker run -d \ --name clouddrive \ --restart unless-stopped \ --env CLOUDDRIVE_HOME=/Config \ -v /storage/clouddrive/config:/Config \ -v /storage/clouddrive/data:/CloudNAS:shared \ -v /storage/media:/media:shared \ --network host \ --pid host \ --privileged \ --device /dev/fuse:/dev/fuse \ cloudnas/clouddrive2-unstable ``` > 参数说明: > - `-v /storage/clouddrive/config:/Config`:配置文件存储 > - `-v /storage/clouddrive/data:/CloudNAS:shared`:云存储挂载点 > - `-v /storage/media:/media:shared`:本地媒体目录(可选) #### 5️⃣ 访问Web界面 在局域网设备上打开浏览器访问: ``` http://<CoreELEC设备IP>:9798 ``` 按引用[1]所述注册账号并添加云存储服务 #### 6️⃣ 在CoreELEC中访问云存储 建议通过SMB/NFS共享CloudDrive目录: ```bash # 在CoreELEC中创建共享(可选) mkdir -p /storage/.kodi/userdata/sources.xml ``` 在`sources.xml`中添加: ```xml <sources> <programs> <default pathversion="1"/> </programs> <video> <default pathversion="1"/> <source> <name>CloudNAS</name> <path pathversion="1">/storage/clouddrive/data</path> <allowsharing>true</allowsharing> </source> </video> </sources> ``` ### 注意事项 1. **存储空间**:确保`/storage`有足够空间(至少10GB) 2. **权限问题**:若遇到挂载错误,尝试: ```bash chmod 777 /storage/clouddrive/data ``` 3. **更新容器**: ```bash docker stop clouddrive docker rm clouddrive docker pull cloudnas/clouddrive2-unstable # 重新运行docker run命令 ``` ### 故障排除 - **FUSE挂载错误**:参考之前提供的解决方法,确保`/storage/clouddrive/data`为空目录 - **端口冲突**:若9798端口被占用,可通过`-p 9798:9798`更改端口 - **内核模块**:检查FUSE模块是否加载: ```bash lsmod | grep fuse # 若无输出则加载模块 modprobe fuse ``` §§相关问题§§ 1. 如何在CoreELEC中管理Docker容器? 2. CloudDrive支持哪些云存储服务? 3. 如何设置CloudDrive自动更新? </think> 在 CoreELEC 系统中使用 Docker 安装 CloudDrive 的完整步骤如下,我已根据您的系统特性进行适配: ### 📦 准备工作 1. **启用 Docker 服务**(CoreELEC 默认未启用) ```bash # 创建服务启用标志文件 touch /storage/.kodi/userdata/docker/autostart # 重启设备 reboot ``` 2. **创建必要目录** ```bash mkdir -p /storage/clouddrive/{Config,CloudNAS,Shared} ``` ### 🐳 Docker 容器部署 ```bash docker run -d \ --name clouddrive2 \ --restart unless-stopped \ --env CLOUDDRIVE_HOME=/Config \ -v /storage/clouddrive/Config:/Config \ -v /storage/clouddrive/CloudNAS:/CloudNAS:shared \ -v /storage/clouddrive/Shared:/media:shared \ --network host \ --pid host \ --privileged \ --device /dev/fuse:/dev/fuse \ cloudnas/clouddrive2-unstable ``` > ⚠️ 注意:如果拉取镜像慢,可改用国内源(在 CoreELEC 的 `/storage/.kodi/userdata/docker/daemon.json` 中添加): > ```json > { > "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] > } > ``` ### 🌐 配置 CloudDrive 1. 访问 Web 界面: ``` http://<你的CoreELEC设备IP>:9798 ``` 2. **添加云存储**(以阿里云盘为例): - 注册账号并登录 - 选择 "添加存储" → "阿里云盘" - 扫码登录阿里云账号 - 设置挂载名称(如 `AliyunDrive`) ### 📂 在 CoreELEC 中访问云存储 1. **通过 Kodi 访问**: - 进入 Kodi 主界面 → 视频 → 文件 - 添加视频 → 浏览 → 选择 `/storage/clouddrive/CloudNAS/AliyunDrive` - 设置内容类型为"电影"或"剧集" 2. **通过 Samba 共享**: ```bash # 编辑 Samba 配置 nano /storage/.kodi/userdata/sources.xml ``` 添加以下内容: ```xml <sources> <programs> <default pathversion="1"/> </programs> <video> <default pathversion="1"/> <source> <name>CloudDrive</name> <path pathversion="1">/storage/clouddrive/CloudNAS</path> <allowsharing>true</allowsharing> </source> </video> </sources> ``` 重启 Samba 服务: ```bash systemctl restart smbd ``` ### ⚠️ 常见问题解决 1. **FUSE 挂载错误**: ```bash # 确保挂载点为空 rm -rf /storage/clouddrive/CloudNAS/* # 重建目录结构 umount -l /storage/clouddrive/CloudNAS rmdir /storage/clouddrive/CloudNAS mkdir -p /storage/clouddrive/CloudNAS ``` 2. **权限问题**: ```bash chmod 777 /storage/clouddrive/CloudNAS docker restart clouddrive2 ``` 3. **容器更新**: ```bash docker stop clouddrive2 docker rm clouddrive2 docker pull cloudnas/clouddrive2-unstable # 重新运行 docker run 命令 ``` ### 💡 优化建议 1. **自动挂载到媒体库**: - 在 Kodi 中设置媒体库自动扫描:`系统设置 → 媒体 → 资料库 → 更新资料库时` 2. **使用 Systemd 管理**(可选): 创建 `/storage/.config/system.d/clouddrive.service`: ```ini [Unit] Description=CloudDrive Container After=docker.service [Service] Restart=always ExecStart=/usr/bin/docker start -a clouddrive2 ExecStop=/usr/bin/docker stop -t 10 clouddrive2 [Install] WantedBy=multi-user.target ``` > 提示:CoreELEC 的存储空间有限,建议将 `/storage/clouddrive` 目录通过符号链接指向外部存储设备[^1]。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值