主要clawcloud给的文件系统不好用,所以可以使用openlist来管理 理论上可以扩展任何平台的容器,但需要平台给command入口 懒人福利: Navidrome音乐服务器,账号为 one, two,three,密码和账号一样 copy 1 2 3 https://play.musics.v6.rocks
游客登录上传自己喜欢的歌,让后就可以在Navidrome里听 1 2 3 https://file.musics.v6.rocks
搭建前准备: 拥有docker环境,获取镜像,并查出镜像的程序入口(关键) 例如mysql镜像,使用以下命令查询,其中mysql:latest换成自己镜像,如:guovern/iptv-api:latest,查找CMD或ENTRYPOINT字样 copy 1 2 3 4 DOCKER_NAME="mysql:latest" docker pull $DOCKER_NAME docker history --no-trunc $DOCKER_NAME | grep -E 'CMD |ENTRYPOINT'
shell中一般就在第一行出现CMD或ENTRYPOINT,复制后面的内容,如[“mysqld”], Dockerfile中的命令要转换为shell中命令,去掉中括号,没有空格的””可以去掉,保留特殊字符如” $等需要加转义符\ 所以[“mysqld”]命令先去中括号变为 “mysqld” ,没有空格的””可以去掉变为mysqld 最后复制到COMMAND=””中,并在shell中运行,查看结果是否正确
但特殊容器,如 nginx:latest的程序入口是[“nginx” “-g” “daemon off;”] 所以[“nginx” “-g” “daemon off;”]命令先去中括号变为 “nginx” “-g” “daemon off;” ,没有空格的””可以去掉变为nginx -g “daemon off;” ,特殊字符加转译变为nginx -g \“daemon off;\“
如果没有docker环境,可以到DOCKERHUB 里查找具体镜像的Layers,一般最后一句是镜像的程序入口
由于各个容器的程序入口都不一样,将会单独开一篇介绍一些容器的入口 1.登录CLAW ,打开APP Launchpad,进入application,点击正在运行的容器 点击APP Launchpad 打开自己的容器,例如,这个mysql,
2.进入容器后,可以看到自己容器镜像,点击右侧的update,
3.进入update界面后下拉到最底部,查看容器的挂载目录,复制并保留,例如这里的是:/var/lib/mysql
4.点最上面的update,返回到容器
5.下拉最低部,点击 >_按钮,进入Terminal,可能需等待一会
注意:输入ls,显示的是容器的目录,而不是linux-amd64 容器的目录 如果是linux-amd64目录,并没有进入容器目录
6.等Terminal进入容器的目录时,找到符合自己镜像的openlist的url,复制以下内容到Terminal: copy 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ARCH=$(uname -m) LDD_RESULT=$(ldd --version 2>&1|grep "musl") OPENLIST_URL="" if [ "${ARCH}x" == "x86_64x" ]; then if [ -z "$LDD_RESULT" ]; then OPENLIST_URL="https://github.com/OpenListTeam/OpenList/releases/download/v4.1.10/openlist-linux-amd64.tar.gz" else OPENLIST_URL="https://github.com/OpenListTeam/OpenList/releases/download/v4.1.10/openlist-linux-musl-amd64.tar.gz" fi elif [ "${ARCH}x" == "aarch64x" ]; then if [ -z "$LDD_RESULT" ]; then OPENLIST_URL="https://github.com/OpenListTeam/OpenList/releases/download/v4.1.10/openlist-linux-arm64.tar.gz" else OPENLIST_URL="https://github.com/OpenListTeam/OpenList/releases/download/v4.1.10/openlist-linux-musl-arm64.tar.gz" fi else echo "not found right openlist" echo "please visit the blew url to get your right openlist " echo "https://github.com/OpenListTeam/OpenList/releases" echo "copy right openlist url to save it for next step" fi echo "your openlist url is: " echo " " echo "$OPENLIST_URL" echo " " #end
复制对应的openlist的下载连接到文本编译器里 7.由于大部分容器没有curl命令,此时需要把自己的容器先换成nginx:latest(此容器含有curl),关闭Terminal,点击右上角update,
8.换成nginx:latest后,再次下拉最低进入Terminal,进入容器目录后,复制以下命令到文本编译器 copy 1 2 3 4 5 6 curl -s "https://file.08080.v6.rocks/api/public/dl/RkDNUvsj/Openlist/add_openlist.sh" |env MOUNT_CLAW="" OPENLIST_URL="" COMMAND="" bash
其中MOUNT_CLAW是自己容器挂载的目录,OPENLIST_URL是上面自己容器的openlist的下载链接,COMMAND是自己容器的程序入口, 对应这个容器应该改为: copy 1 2 3 4 5 6 curl -s "https://file.08080.v6.rocks/api/public/dl/RkDNUvsj/Openlist/add_openlist.sh" |env MOUNT_CLAW="/var/lib/mysql" OPENLIST_URL="https://github.com/OpenListTeam/OpenList/releases/download/v4.1.10/openlist-linux-amd64.tar.gz" COMMAND="mysqld" bash
复制这个命令到Terminal:
运行后可以看到给的Command,复制到文本编辑器里,例如这里是 copy 1 2 3 /bin/sh -c "/var/lib/mysql/add_openlist/run_openlist.sh"
9.关闭Terminal,点击右上角update,换回自己的容器,这里是mysql,添加5224 端口,并在Command里添加以上命令 换回自己的容器
添加5224 端口
Command里添加命令
点击右上角update,确定,等待重启部署
10.等容器运行后点击logs,查看登录密码,等待5244端口域名变绿就可以用密码登录后
11.等待域名完成,点击进入openlist,用登录密码登录
12.登录来到 ‘转到储存’
13.进入储存,点击添加,在驱动里搜索本机存储
14.挂载路径随便,这里为/openlist,根文件夹路径为自己挂载的路径,例如/var/lib/mysql,保存
15.点击首页,看到openlist,就可以修改里面的文件了
16.像mysql这个容器不适合在原本挂载目录添加openlist,可以再单独挂载一个新目录,例如/new_add,只需要修改MOUNT_CLAW,即可
copy 1 2 3 4 5 6 curl -s "https://file.08080.v6.rocks/api/public/dl/RkDNUvsj/Openlist/add_openlist.sh" |env MOUNT_CLAW="/new_add" OPENLIST_URL="https://github.com/OpenListTeam/OpenList/releases/download/v4.1.10/openlist-linux-amd64.tar.gz" COMMAND="mysqld" bash
接下来以上的步骤完成既可。 command里面的命令路径会不一样,比如: copy 1 2 3 /bin/sh -c "/new_add/add_openlist/run_openlist.sh"
17.如果不想用openlist,直接清空Command里命令,容器立马恢复原来的状态
18.谢谢观看!! Enjoy backgroud song