项目地址
- docker挂载云盘 [Clouddrive] https://hub.docker.com/r/cloudnas/clouddrive
- Windows版本
https://wwa.lanzoui.com/b08ykvd0h 密码: hr4y - Clouddrive 2 版本
https://wwar.lanzouh.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都行
配置过程
- ps: 避坑docker安装空间不足,openwrt一般只要不是自己DIY编译的很少有把docker分区编译够用的,只能通过挂载分区的方式来实现扩容。
避坑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
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
{lamp/}
如果操作中命令错误或者需要删除可以用以下命令。
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.安装扩展
Chrome浏览器也可通过手机115扫码登录115账号
2.cookie设置及导出
PC:(浏览器建议chrome,edge,firefox最新版,不支持ie和115浏览器)
小白疑问:
1.cloudnas的设计初衷
cloudnas的设计初衷是不用下载直接使用的,为在线随机访问文件做了优化,没对下载进行优化。你可以试试不拷贝,直接访问。
2.分享出去给别人看会封号吗
别人访问你的分享看视频的时候,流量是从115到你的服务器,再走你的上行带宽到访问者,不会把115的直链分享出去
3.可否多台设备运行多个clouddrive?
这种玩法需要注意一下115的异地登录风险,尽量不要异地登录
4.何为彻底退出Cloud Drive ?
右上角账号那的退出按钮
5.可异地登陆否?
NO! 尽量不要异地运行多个cloudnas服务,跑同一个115账号。异地访问同一个cloudnas服务器没问题,这受控于网盘安全登录,例如:阿里云可在单账号允许5个设备登录这种,115的受限于官方风控。
6.Cloud Drive支持生成115sha1吗?
不支持生成115sha1
7.想不起来密码?
后续会增加重设密码,但是云端不会保存密码,只保存密码的md5,所以不会有找回密码的功能,另外需要说明,云盘账号信息是用你自己的密码加密的保存的,所以你忘记了密码的话,云盘账号也就无法找回了,需要重新设置,重置密码之后,所有云盘都需要重新登录了,我们没办法帮你找回你的云盘信息,基于这个考虑,我觉得找回密码其实没有太大意义,找回以后也得从头来过。实在想不起来密码的话,换个邮箱注册也是一样的。所以密码重置功能没有放到很高优先级
8.可否加入百度网盘?
NO 百度网盘以前做过,后来他们改了接口,还抓了做pandownload的作者,我就不想碰了
9.挂载不上?
换个盘符试试,要不重启一下服务看看
windows服务管理里面,重启名为CloudDriveService的服务
刚安装登录就挂不上?从这里下载winfsp安装包手动安装一次试试
Test
https://github.com/billziss-gh/winfsp/releases/download/v1.9/winfsp-1.9.21096.msi
10.clouddrive 支持续传否?
现在的版本115已经支持续传了(大佬很给力)
11.从映射盘拷贝115文件速度
速度3M-5M(群友实测)单线程单文件速度
12.内存空间占用?
在访问网盘上的文件时,clouddrive确实在通过网络下载,但是数据放在内存里,不会占用本地空间
13.win挂载115网盘后资源管理器经常无响应
windows文件管理器默认会获取文件的缩略图,有大量图片的时候尤其慢,解决办法是把文件管理器改成详细列表显示,不让它去生成缩略图
14.挂载速度慢?试试整个盘都用详细列表模式
windows版各种问题都是文件管理器要去读文件缩略图造成的,整个盘都用详细列表模式就清净了
最好把整个盘都设置成常规项目,省得文件管理器去读取图片视频音频的元数据
15.115挂载本地,速度?
本地网速够的话,看4K蓝光没问题
16.115挂载目录里复制到本地速度
单线程速度 6~8M/s 校验速度比115浏览器快不少
17.原盘播放效果
取决于本地速度,网盘速度没问题
18.系统设置相关选项作用?
这里大部分都是内部调试用,最好不要乱改,第一个可以试试,如果去掉的话,不会自动从云盘刷新目录,曾经打开过的文件夹再打开会非常快,但是从别的终端修改过的内容就看不到了,除非手动点web界面的刷新按钮
19.挂载设置里点击卸载按钮后,刷新不出页面?
重新安装一遍就行了!
20.115批量导入秒传失败?
应该排查权限的问题,CloudDrive的路径默认都是对所有人有权限的,选不出来但是直接输入路径有效,说明mount CloudDrive的上级目录有权限
115对秒传请求进行了限速,导致批量导入失败,临时解决方法是在系统设置里把MaxPreprocessTasks设为1
其他:
1.有些系统SYS_ADMIN权限不足,需要privileged权限
2.群晖docker上mount出来的CloudNAS目录,可以直接samba分享给局域网使用
3.文件夹下载建议直接用samba共享出来,自己在系统文件管理器里ctrl-c, ctrl-v
4.左键单击 (https://t.me/cloudnaschat/947)文件,可直接下载
6.Dropextract,Dropshare 这两个有隐藏功能……
- 8月4日115妙传限速解决方法
115对秒传请求进行了限速,导致批量导入失败,临时解决方法是在系统设置里把MaxPreprocessTasks设为1
如果有其他问题或建议,欢迎飞机联系开发作者
作者电报群:https://t.me/cloudnaschat
62 条评论
容器启动不了,一启动就显示:Containers: start clouddrive ...code :500 path/overlay/upper/opt/CloudNAS is mounted on /overlay but it is not a shared mount
谢谢,已成功
谢谢,已成功
安装命令原来有挂载点-9798的现在没有了吗
Error response from daemon: driver failed programming external connectivity on endpoint clouddrive (f3905f26698f4dcaa9f572d7c6e315c0edec4a81dc1021de37331f5119c79590): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9798 -j DNAT --to-destination 172.17.0.2:9798 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1)). 好像没更新了,今天重新部署更新一下,最后一步命令出错了!谁帮帮我
按照你的教程安装完成了,但是打开cloudrive 界面后 无法注册也无法登陆,不清楚具体什么原因,是容器无法访问网络吗?求指教
容器建好了,阿里云盘也弄好了。就是挂载到本地报错:
Unable to mount directory /CloudNAS/CloudDrive'; try running /sbin/modprobe fuse' as the root user
解决了吗?
谢谢博主,依葫芦画瓢,学会了。
对于这个问题,我猜层主挂载的时候没有开“privileged”也就是“特权模式”。
请用root账户去执行所有命令
这咋整啊?谢谢
root@OpenWrt:~# docker run -d \
--name clouddrive \ --restart unless-stopped \ -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/clouddrive-ash: can't open path: no such file
-ash: -ash:: not found
尖括号里是你要挂载指定的系统路径,不是复制粘贴
装好了,但是我想请教该如何更新这个CloudDrive新版本
阿里云的映射目录我设置到 -v /opt/docker/CloudNAS:/CloudNAS:rshared 这里,容器安装好以后网络共享目录设置为/opt/docker/CloudNAS,在网络邻居里能看到这个目录,但是没有访问权限,要怎么解决?
如果是 openwrt 下的 docker,里面有个共享目录挂在上,并赋予权限试试
能详细讲下吗??
装好能用,一重启就不能再启动出现Containers: start clouddrive...code:500 path /opt/CloudNAS is mounted on /opt but it is not
a shared mount
在开机启动项添加 mount --make-shared /你的目录
问一下。容器是装上去了,无法启动,出现
docker: Error response from daemon: path /opt/CloudNAS is mounted on / but it is not a shared mount.
怎么解决
在开机启动项添加 mount --make-shared /你的目录
成功安装了,特来表示感谢
大佬,怎么更新啊,我用群里的两条命令更新会报错,ERROR:
Can't find a suitable configuration file in this directory or any parent. Are you in the right directory? Supported filenames: docker-compose.yml, docker-compose.yaml网络共享访问,只能读取 不能写入吗? 要windos版本的才能读写吗?
输入IP+端口打不开CloudDriveService,不知道为啥
没有文件的话,安装fuse-utils,然后重启!
部署过程没有报错的话,看下防火墙和联网是否允许外网访问
我的挂载点默认是"/", 我"mount --make-shared /"后启动容器成功,进入网页客户端也成功,登录115成功,在网页上浏览文件没问题,但是在openwrt系统上进入/opt/CloudNAS/CloudDrive文件夹内就是空的,可能是什么原因?
一般来说,op系统下/opt是单独的挂载点,和/不属于同一个挂载点,没给挂载点共享是看不到的,要么你按我的来,要么就挂载到/的其他目录
我的/是挂载在overlay上的,overlay是一个/dev/sdb1 (32G的虚拟盘),opt就是/的一个普通目录而已,没有单独挂载/opt到一个独立的存储空间。
这里有两点需要你不要混淆,第一是op下/opt是docker存储分区,第二是你给/扩容和opt没任何关系,这是两个问题,如果那么方便,我为什么不写直接挂载到/呢,还折腾给opt扩容干啥
我在op下df -h的输出:
Filesystem Size Used Available Use% Mounted on
/dev/root 300.0M 300.0M 0 100% /rom
tmpfs 996.8M 27.3M 969.6M 3% /tmp
/dev/sdb1 31.4G 23.8G 6.2G 79% /overlay
overlayfs:/overlay 31.4G 23.8G 6.2G 79% /
/dev/sda1 16.0M 5.5M 10.4M 35% /boot
/dev/sda1 16.0M 5.5M 10.4M 35% /boot
tmpfs 512.0K 0 512.0K 0% /dev
cgroup 996.8M 0 996.8M 0% /sys/fs/cgroup
我的意思是/opt在我的配置里没有单独挂载,我理解docker存在/opt里的东西实际跟/是共享容量的,我执行在执行mount --make-shared /opt的时候报mount: /opt: not mount point or bad option. 但执行mount --make-shared / 就没问题了。云盘挂载的时候也能看到出现CloudDrive文件了,但是文件夹里没东西,进入docker容器里的文件系统CloudDrive里就有东西。
有意思的是,之前我是挂载成功过,CloudDrive下也有东西并且通过op的smb服务成功共享给电视上的Kodi播放视频文件没有问题的(一两个月前操作的貌似),最近重启了下op不知道为什么就不行了。。。
挂载点看到了,没有/opt挂载分区,需要确认两个问题,根目录下是否/opt目录,另外就是overlay是否在重启后失效,这个在 openwrt 下很常见,具体可以搜索;解决openwrt中扩展overlay重启失效的问题 的方案看下。再其次我个人的建议,你这个op固件分区大小不适合你,如果有可能,直接选择一个分区大的固件,或者自己编译一个适合自己的op 固件,方便你安装插件,/dev/sdb1再扩容单独给/opt 比较好
老哥你那个kls.red看不到内容啊,能否开放注册看看,还有什么这种类型的资源社区吗?我也想浏览这些资源社区啊,但是没有经验
太细致了!感谢博主
按照你的方法倒是安装好了,网页也能打开,但是登陆和注册就是无法连接无法,打开后天返回的状态码也是200,docker里边ping服务器IP也是通的,我无法了::(泪)
解决了,是因为openwrt没有打开转发功能:网络-防火墙-转发-接受,就可以了
::(大拇指)
傀儡师大佬,方便加个qq,帮忙一下吗,有尝。机子是威联通ts453dmini,根据您的教程,已经docker安装clouddrive,也挂载上阿里云盘,但是nas里面的文件夹没有看到阿里云盘文件夹,不知道那步出错,一直不出现,qq824179080
又有一个新问题,所有都弄好了,就是阿里云盘通过网络共享访问文件夹为空,而且挂载点里边也没有,不知道怎么回事
挂载点和文中一样的话,页登录网盘后,通过df -h 查看挂载点是否正确挂载,如果还是没有挂载成功,尝试更换固件下试试
固件问题,换了sirpdboy大的大全版就可以了
嗯,遇到过这种情况,op编译的固件版本太多也太杂,有些固件可能是编译时导致的问题,更换后就能解决了
docker: Error response from daemon: invalid mount config: must use either propagation mode "rslave" or "rshared" when mount source is within the daemon root, daemon root: "/opt", bind mount source: "/opt/CloudNAS", propagation: "shared".
大佬这个报错是什么情况,操作都是按照你的教程来的
如果目录环境和我的一样可以执行下mount --make-shared /opt 看下
感谢教程,我已经解决了,根据报错把/opt/CloudNAS:/CloudNAS:shared修改成了rshared
嗯,挂上了就好,根据自己的实际去调整,你的可能是/opt/CloudNAS,我这边大多数/opt 就可以了
挂载点是和你一样的/opt,但是就是不能运行
老哥 在执行mount --make-shared /opt的时候报mount: /opt: not mount point or bad option.
该怎么办
根据提示显示,你挂载点不对,可以通过df -h查看下
为什么到最后一步我无法安装clouddrive
原因很多,连个提示也没有,这么问,我也不知道该怎么回答了
按照你的教程安装完成了,但是打开cloudrive 界面后 无法注册也无法登陆,不清楚具体什么原因,是容器无法访问网络吗?求指教
docker有dockerman也是就是我视频中演示的那个web版本和dockerce这个版本,有些docker web界面只有一个允许外网访问的选项,如果是这种的话,出现你描述的可能性最大,必须勾选允许外网访问,不然就是你能安装得上,打得开web界面,不能注册也不能登录,如果还是不行只能建议你更换固件,因为有些固件docker本身就是有问题的,例如web登录了,通过命令也看不到挂载点的情况
已经搞定了,其实用的系统跟你的一样都是esir的,只是在网络接口设置中我没有设置DOCKER0 为桥接接口为开启,另外接口没有选择eth0(lan)为接口。谢谢你了,看了你的教程才有的启发,::(哈哈)谢谢!!!
我也是这个问题,要怎么设置啊?
感谢作者的无私奉献
n1的openwrt操作流程和这个一样吗?我按你的操作找不到挂载点
绝大部分的openwrt可以按我写的挂载,像N1或者其他自己新建的分区的,要按照自己的实际目录去做调整即可,过程和流程通用
n1的openwrt用不用挂载?
需要privileged权限怎么获取呢?威联通远程挂载N1openwrt的共享文件夹,无法写入,提示无权限。
我不是很了解威联通,至于权限问题最好在群里问下大佬
按照你的教程安装完成了,但是打开cloudrive 界面后 无法注册也无法登陆,不清楚具体什么原因,是容器无法访问网络吗?求指教