Unraid给使用命令安装的Docker应用添加图标
在 Unraid 中,通过应用市场的模板来安装 Docker 应用,一般都会自带一个图标,Unraid 提供了非常直观的编辑 Docker 页面,可以很方便的修改这些图标。
应用成功安装后,会将当前的设置都保存到 xml
模板文件中。比如以迅雷为例,其模板文件是这样的:
1 |
|
但是对于有些只能通过 Docker 命令或者脚本安装的应用,就不太方便去设置图标了。有没有办法去为这些应用添加图标呢?
思路
既然通过模板可以给 Docker 配置图标,而模板配置最终肯定是要转换成 Docker 的运行命令去执行的,所以模板中的参数应该也是以某种形式添加到 Docker 命令中了。能不能通过查看这些有图标的 Docker 的执行命令来照猫画虎给这些没有图标的 Docker 添加图标呢?所以问题就成了如何获取已运行 Docker 的运行命令。
比如 xiaoyakeeper
这个可以定期清理阿里云盘中转文件夹的守护应用,是通过脚本生成的 docker 应用,连运行命令都不知道是啥。
1 | bash -c "$(curl -s https://xiaoyahelper.zengge99.eu.org/aliyun_clear.sh| tail -n +2)" -s 3 |
安装 Nerd Tools 插件
经过查询得知,使用 runlike
这个工具可以查看已运行容器(应用)的运行命令。但这个工具是基于 Python3
的,Unraid 默认没有带 Python3
环境,通过 Nerd Tools
这个插件就很容易解决。
Unraid 并非基于常见的 Linux 发行版开发,而是基于
Slackware
这个古老的 Linux 定制而来,很多常用的包都没带,Nerd Tools
这个插件就集成了非常多常用的包,可以说是 Unraid 上面的包管理器。
到应用市场安装这个插件:
在插件中打开 Nerd Tools
后输入想安装的包的关键字,找到结果点应用就能自动装好:
比如你还可以装一个命令行版的 7z
解压工具,以后就能直接在 Unraid
命令行解压缩文件了:
查看 Docker 运行命令
Python3
装好之后,可以安装 runlike
工具。
1 | pip3 install runlike |
之后就可以查看安装命令了,比如查看 Xunlei
的安装命令:
1 | # 命令格式:runlike -p [docker 应用名称] |
Xunlei 就是 docker 应用的名称,也是 xml 模板中的
Name
参数,也是 docker 运行命令中的 –name 参数。
到这里,眼尖的朋友应该已经发现了,我们想要的参数已经出来了。就是这里的 --label
参数:
1 | --label='net.unraid.docker.icon=https://img.slarker.me/unraid/Xunlei_A.png' |
后面跟的 https
链接正是 Docker 应用的图标地址。接下来就是照猫画虎,先查看没有图标的 Docker 的运行命令,比如 xiaoyakeeper
:
1 | runlike -p xiaoyakeeper |
把这个 docker 运行命令复制下来,然后把上面的图标链接 --label
参数给加上去,注意是把整行参数都加上:
1 | --label='net.unraid.docker.icon=https://img.slarker.me/unraid/Alist_encrypt_A.png' \ |
上面这个参数我把图标链接设置成了 https://img.slarker.me/unraid/Alist_encrypt_A.png
。具体图标该怎么找可以查看 自定义 Docker 图标。
图标链接参数加好之后是这样:
1 | docker run --name=xiaoyakeeper \ |
把之前的没有图标的 docker 删掉(不需要移除镜像),重新执行下加好参数的命令,新的 docker 就有图标啦!