Docker折腾记 篇五:部署过的小伙伴必看,针对clouddrive2教程的一个补充完善
背景:
之前出了一个基于绿联云的clouddrive2的教程,之前的教程链接如下:
但是之前教程经过三个星期各位小伙伴的使用反馈,发现有以下几点不太完善的地方,本文章则针对这些内容做一个补充。
1、cd2使用alist的webdav链接挂载到本地目录后在本地打开无法观看影视内容或者传输没有速度
2、重启后发现容器无法启动报路径未开共享
3、绿联云固件更新后需要重新配置一次ssh的自启动脚本
第一点解决方法:
cd2使用alist的webdav链接挂载到本地目录后在本地打开无法观看影视内容或者传输没有速度,这个原因是需要我们alist挂载对应网盘存储的时候WebDAV策略需要使用本地代理,改为这个保存后即可解决问题。
第二点第三点解决方法:
重启后发现容器无法启动报路径未开共享:这个可能是三种情况,一是和上面第三点问题同样的原因,绿联云固件更新后把init.d下的文件全部初始化了,之前的自启动脚本失效了,需要重新配置一次。二是对应docker盘的路径发生了变化,三则是自启动脚本内的路径配置不对,这个需要自己再对照教程方法检查下。
为了防止后面更新后再次被初始化,我们这次需要把脚本直接建在rc.d的目录下,不需要再在init.d目录下创建脚本文件了。
如果你是之前按照我的教程已经操作过发现更新后无法使用的话,则按照以下方法进行操作
直接进入绿联云的ssh后台,输入以下命令进入rc.d目录
cd /etc/rc.d/
输入以下命令将原来软链接过来的文件删除。
rm S99mountshare
另外如果你已经重新按照教程又一次配置完脚本的话,则建议使用如下命令将init.d下的脚本也删掉,然后再回到rc.d目录重新创建脚本
cd /etc/init.d
rm mountshare
cd /etc/rc.d/
在rc.d目录下输入以下命令重新创建脚本文件
vi S99mountshare
我这里先放出原来的脚本文件内容,这里有几个地方需要重新修改下,大家注意下
#!/bin/sh /etc/rc.common
START=99
start(){
for num in $(seq 1 60); do
if [ "$(mount | grep -c /dev/dm-2)" -gt 0 ]; then
break
fi
sleep 1
done
mount --make-shared /mnt/dm-2
echo "myscript is start"
}stop(){
echo "myscript is stop"
}
restart(){
echo "myscript is restart"
}
我们需要将这里面的
mount --make-shared /mnt/dm-2
修改成
mount --make-shared /mnt/media_rw/07b22bd0-0cf9-4d4a-ae3c-b9de128cbeb7
dm-2其实也是绿联云系统做的软链接路径,在重启或者动了盘位的情况下,这个dm-2未必会指向同一个硬盘,所以我们需要修改成硬盘uuid所对应的真|真实路径。这个uuid怎么找,很简单,我们直接输入
cd /mnt/media_rw
这时我们就能看到我们的dm-x路径对应的uuid了
还是按照我原教程方法先找cloudshare目录所在的路径,然后在media_rw目录下找到dm-x对应的uuid,将我们自启动脚本中的/mnt/dm-x替换成/mnt/media_rw/uuid即可。比如我的是dm-2,则我的uuid是07b22bd0-0cf9-4d4a-ae3c-b9de128cbeb7
那我的脚本中命令则应该替换成mount --make-shared /mnt/media_rw/07b22bd0-0cf9-4d4a-ae3c-b9de128cbeb7
再将
if [ "$(mount | grep -c /dev/dm-2)" -gt 0 ]; then
替换成
if [ "$(cd /mnt/media_rw/;ls | grep -c 07b22bd0-0cf9-4d4a-ae3c-b9de128cbeb7)" -gt 0 ]; then
这里面除了uuid替换成你的之外,其他的都保持不变即可,最终的脚本内容则类似于下图的样式。
图片最后同理,我们的docker run命令也要做下相应的调整,将其中的/mnt/dm-x的目录替换成uuid的格式。
先将原来的容器删掉,不用担心,配置文件在的情况下使用同样的配置目录创建,之前的配置不会丢失。
再执行以下命令创建容器即可。
docker run -d --name clouddrive2 --privileged=true --restart=always --device /dev/fuse:/dev/fuse -v /mnt/media_rw/07b22bd0-0cf9-4d4a-ae3c-b9de128cbeb7/.ugreen_nas/82095/docker/clouddrive2/cloudshare/:/cloudshare:shared -v /mnt/media_rw/07b22bd0-0cf9-4d4a-ae3c-b9de128cbeb7/.ugreen_nas/82095/docker/clouddrive2/Config:/Config -p 19798:19798 -e TZ=Asia/Shanghai -e CLOUDDRIVE_HOME=/Config cloudnas/clouddrive2-unstable:latest
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
王博的菜篮子
校验提示文案
末了音
校验提示文案
值友5035512302
校验提示文案
值友5035512302
校验提示文案
值友1357819974
校验提示文案
值友1357819974
校验提示文案
值友4085253883
chmod +x S99mountshare
./S99mountshare enable
都执行过了的
校验提示文案
kook324
校验提示文案
cdlongbow
校验提示文案
koryking
#!/bin/sh /etc/rc.common
START=99
start(){
for num in $(seq 1 60); do
if [ "$(cd /mnt/media_rw/;ls | grep -c 07b22bd0-0cf9-4d4a-ae3c-b9de128cbeb7)" -gt 0 ]; then
break
fi
sleep 1
done
mount --make-shared /mnt/media_rw/07b22bd0-0cf9-4d4a-ae3c-b9de128cbeb7
echo "myscript is start"
}
stop(){
echo "myscript is stop"
}
restart(){
echo "myscript is restart"
}
校验提示文案
值友5035512302
校验提示文案
落雪有声86
校验提示文案
值友1357819974
校验提示文案
摸鱼海王
校验提示文案
kook324
校验提示文案
cdlongbow
校验提示文案
kook324
校验提示文案
kook324
校验提示文案
摸鱼海王
校验提示文案
值友4085253883
chmod +x S99mountshare
./S99mountshare enable
都执行过了的
校验提示文案
值友1357819974
校验提示文案
值友1357819974
校验提示文案
值友1357819974
校验提示文案
值友5035512302
校验提示文案
值友5035512302
校验提示文案
值友5035512302
校验提示文案
末了音
校验提示文案
koryking
#!/bin/sh /etc/rc.common
START=99
start(){
for num in $(seq 1 60); do
if [ "$(cd /mnt/media_rw/;ls | grep -c 07b22bd0-0cf9-4d4a-ae3c-b9de128cbeb7)" -gt 0 ]; then
break
fi
sleep 1
done
mount --make-shared /mnt/media_rw/07b22bd0-0cf9-4d4a-ae3c-b9de128cbeb7
echo "myscript is start"
}
stop(){
echo "myscript is stop"
}
restart(){
echo "myscript is restart"
}
校验提示文案
王博的菜篮子
校验提示文案
落雪有声86
校验提示文案