# 项目地址
- docker 挂载云盘 [Clouddrive] https://hub.docker.com/r/cloudnas/clouddrive
- Windows 版本
https://www.lanzoub.com/b08ykvd0h 密码: hr4y - Clouddrive 2 版本
https://www.lanzoub.com/b09017eob 密码:2iu1
# 演示过程视频
# Cloud Drive 说明:
理解一:
通过 Clouddrive 把网盘映射成本地磁盘直接使用,同时也提供一个统一的网盘浏览管理 web 界面理解二:
Clouddrive 将云存储服务挂载为本地文件系统。理解三:
linux 下安装 cloudnas,相当于是挂了一块硬盘到 linux 下,硬盘内容是 115,再装 jellyfin 也好 emby 也好,都相当于访问本地硬盘进行整理
Cloud Drive 功能:
- 可转存 (json,.txt,115://xxx) 类型的 sha1
- 外网访问,分享功能,免登录
- 支持对云盘文件夹重命名
- jellyfin 客户端,电脑、手机上的浏览器,或者 jellyfin app,或者 kodi 都行
# 配置过程
避坑 docker 安装空间不足,openwrt 一般只要不是自己 DIY 编译的很少有把 docker 分区编译够用的,只能通过挂载分区的方式来实现扩容。
# 安装空间不足,解决方法
1. 创建分区或者添加新分区
一般添加的新的磁盘默认是看不到的,需要执行一下命令创建分区或者格式化成 ext4 才能在挂载点看到该分区。
a. 查看当前系统所有硬盘及分区情况:fdisk -l
b. 在指定的硬盘(例:/dev/sdb)上创建分区:fdisk /dev/sdb , 根据提示进行下一步操作
如:查看帮助(h),新建分区(n),删除分区(d),查看分区情况(p)
c. 分区成功后,写分区表并退出(w)
d. 对新建分区(例:/dev/sda1)进行格式化:mkfs.ext4 /dev/sdb1
由于我自己的是虚拟机的环境,就直接添加一个分区,格式化后直接挂载了,如果是单个物理盘,而且已经安装了 openwrt,请根据命令创建新分区,格式化 ext4 后挂载即可 "
- 点击添加
- 选择好分区和挂载目录,勾选上 启用此挂载点
在高级选项里选择 ext4,点击 保存 & 应用
然后重启 openwrt,一定要重启,不然不生效
生效后如下
把分区挂载到 opt 目录后,也就是 docker 的目录达到了扩容的目的
处理完扩容问题后,接下来进入安装阶段
通过 ssh 连接 openwrt 后
开启 MountFlags
mkdir -p /etc/systemd/system/docker.service.d/ | |
cat <<EOF > /etc/systemd/system/docker.service.d/clear_mount_propagation_flags.conf | |
[Service] | |
MountFlags=shared | |
EOF | |
mount --make-shared /opt |
然后
#CD1: | |
docker run -d \ | |
--name clouddrive \ | |
--restart unless-stopped \ | |
-v /opt/CloudNAS:/CloudNAS:shared \ | |
-v /opt/Config:/Config \ | |
--network host \ | |
--pid host \ | |
--privileged \ | |
--device /dev/fuse:/dev/fuse \ | |
cloudnas/clouddrive | |
#CD2 | |
docker run -d \ | |
--name clouddrive \ | |
--restart unless-stopped \ | |
--env CLOUDDRIVE_HOME=/Config \ | |
-v /opt/CloudNAS:/CloudNAS:shared \ | |
-v /opt/Config:/Config \ | |
--network host \ | |
--pid host \ | |
--privileged \ | |
--device /dev/fuse:/dev/fuse \ | |
cloudnas/clouddrive2-unstable |
需要映射其他路径请参考官方 docker 说明
自此安装结束
额,(⊙o⊙)… 这张图是挂载到局域网。。。。
然后输入 openwrt 地址加端口号注册或者登录即可
阿里云和 115 网盘可通过扫码登录
登录好网盘账号以后,电脑可以通过网络共享访问,例如:\192.168.1.1 把网盘映射到本地即可
重启路由 docker 启动失败解决
找到系统 --- 启动项 --- 本地启动脚本(拉到最底部)
按照上图,把下面参数填到指定位置,保存应用,重启即可!
mount --make-shared /opt |
# 如果操作中命令错误或者需要删除可以用以下命令。
ps:如果多容器请安需删除,删除其一,请注意不要使用全部删除
查看运行中的容器
docker ps |
进入容器
docker exec -i -t containerId /bin/bash |
查看容器
docker ps -a |
启动指定容器 containerId 是容器的 ID
docker start containerId |
停止指定容器 containerId 是容器的 ID
docker stop containerId |
删除指定容器 containerId 是容器的 ID
docker rm containerId |
查看镜像列表
docker images |
删除指定镜像 ImageId 是镜像的 Id
docker rmi ImageId |
# 慎用以下全部命令
删除全部容器和镜像命令
列出所有的容器 ID
docker ps -aq |
停止所有的容器
docker stop $(docker ps -aq) |
删除所有的容器
docker rm $(docker ps -aq) |
删除所有的镜像
docker rmi $(docker images -q) | |
docker image prune --force --all或者docker image prune -f -a : 删除所有不使用的镜像 | |
docker container prune: 删除所有停止的容器 |
# 115 网盘也可以通过 cookie 登录
1. 安装扩展
editthiscookie
Chrome 浏览器也可通过手机 115 扫码登录 115 账号
2.cookie 设置及导出
PC:(浏览器建议 chrome,edge,firefox 最新版,不支持 ie 和 115 浏览器)
# 小白答疑:
- cloudnas 的设计初衷
cloudnas 的设计初衷是不用下载直接使用的,为在线随机访问文件做了优化,没对下载进行优化。你可以试试不拷贝,直接访问。
- 分享出去给别人看会封号吗
别人访问你的分享看视频的时候,流量是从 115 到你的服务器,再走你的上行带宽到访问者,不会把 115 的直链分享出去
- 可否多台设备运行多个 clouddrive?
这种玩法需要注意一下 115 的异地登录风险,尽量不要异地登录
- 何为彻底退出 Cloud Drive ?
右上角账号那的退出按钮
- 可异地登陆否?
NO! 尽量不要异地运行多个 cloudnas 服务,跑同一个 115 账号。异地访问同一个 cloudnas 服务器没问题,这受控于网盘安全登录,例如:阿里云可在单账号允许 5 个设备登录这种,115 的受限于官方风控。
- Cloud Drive 支持生成 115sha1 吗?
不支持生成 115sha1
- 想不起来密码?
后续会增加重设密码,但是云端不会保存密码,只保存密码的 md5,所以不会有找回密码的功能,另外需要说明,云盘账号信息是用你自己的密码加密的保存的,所以你忘记了密码的话,云盘账号也就无法找回了,需要重新设置,重置密码之后,所有云盘都需要重新登录了,我们没办法帮你找回你的云盘信息,基于这个考虑,我觉得找回密码其实没有太大意义,找回以后也得从头来过。实在想不起来密码的话,换个邮箱注册也是一样的。所以密码重置功能没有放到很高优先级
- 可否加入百度网盘?
NO 百度网盘以前做过,后来他们改了接口,还抓了做 pandownload 的作者,我就不想碰了
- 挂载不上?
换个盘符试试,要不重启一下服务看看
windows 服务管理里面,重启名为 CloudDriveService 的服务
刚安装登录就挂不上?从这里下载 winfsp 安装包手动安装一次试试
Test
https://github.com/billziss-gh/winfsp/releases/download/v1.9/winfsp-1.9.21096.msi
- clouddrive 支持续传否?
现在的版本 115 已经支持续传了 (大佬很给力)
- 从映射盘拷贝 115 文件速度
速度 3M-5M (群友实测) 单线程单文件速度
- 内存空间占用?
在访问网盘上的文件时,clouddrive 确实在通过网络下载,但是数据放在内存里,不会占用本地空间
- win 挂载 115 网盘后资源管理器经常无响应
windows 文件管理器默认会获取文件的缩略图,有大量图片的时候尤其慢,解决办法是把文件管理器改成详细列表显示,不让它去生成缩略图
- 挂载速度慢?试试整个盘都用详细列表模式
windows 版各种问题都是文件管理器要去读文件缩略图造成的,整个盘都用详细列表模式就清净了
最好把整个盘都设置成常规项目,省得文件管理器去读取图片视频音频的元数据
- 115 挂载本地,速度?
本地网速够的话,看 4K 蓝光没问题
- 115 挂载目录里复制到本地速度
单线程速度 6~8M/s 校验速度比 115 浏览器快不少
- 原盘播放效果
取决于本地速度,网盘速度没问题
- 系统设置相关选项作用?
这里大部分都是内部调试用,最好不要乱改,第一个可以试试,如果去掉的话,不会自动从云盘刷新目录,曾经打开过的文件夹再打开会非常快,但是从别的终端修改过的内容就看不到了,除非手动点 web 界面的刷新按钮
- 挂载设置里点击卸载按钮后,刷新不出页面?
重新安装一遍就行了!
- 115 批量导入秒传失败?
应该排查权限的问题,CloudDrive 的路径默认都是对所有人有权限的,选不出来但是直接输入路径有效,说明 mount CloudDrive 的上级目录有权限
115 对秒传请求进行了限速,导致批量导入失败,临时解决方法是在系统设置里把 MaxPreprocessTasks 设为 1
# 其他:
有些系统 SYS_ADMIN 权限不足,需要 privileged 权限
群晖 docker 上 mount 出来的 CloudNAS 目录,可以直接 samba 分享给局域网使用
文件夹下载建议直接用 samba 共享出来,自己在系统文件管理器里 ctrl-c, ctrl-v
左键单击 (https://t.me/cloudnaschat/947) 文件,可直接下载
Dropextract,Dropshare 这两个有隐藏功能……
8 月 4 日 115 妙传限速解决方法
115 对秒传请求进行了限速,导致批量导入失败,临时解决方法是在系统设置里把 MaxPreprocessTasks 设为 1
如果有其他问题或建议,欢迎飞机联系开发作者
作者电报群:https://t.me/cloudnaschat