群晖小白也能轻松更新Docker
相信现在很多值友家里都会有一台NAS,我也是在19年初的时候攒了一台j3455 4盘位的黑群,偶尔刷刷PT,下下电影动漫,存点照片什么的,顺便虚拟机做个旁路由,很少折腾它,也没装几个docker。
当初装的是6.X来着,现在升到了7.2今年闲着没事的时候,趁着清理以前旧资料和换硬盘的功夫把系统有损升到了7.2,发现以前的Docker不见了,找了半天发现原来是摇身一变变成了Container Manager,并且支持docker-compose了,于是开始琢磨着装点有用的docker玩玩,包括但不限于auto-bangumi之类的。
docker的安装和运行是比较简单啦,但是后续开发者难免会对docker进行更新,加入新的内容啊、改掉BUG啊之类的,尤其是一些有稳定开发团队的火热的项目,更新可能更频繁,这时候我们难免的就会心痒痒也想要把自己运行的docker更新到最新版来体验一下,于是乎就有了今天这篇水文...
对于像我这样的小白来说呢,更新docker最好的路子呢,其实就是不更新
因为对于缺乏专业知识的我们来说,用着稳定的才是最好的,但是呢,谁还没有偶尔想折腾一下的时候呢是不是,所以一定要有一个简单无脑的方式来更新docker,接下来进入主题,有请我们的主角“watchtower”。
关于watchtower,其实站内和网上都有过一些介绍贴,但是呢,小白常有而教程不常有,本着授人以渔不如喂到嘴里的精神,于是今天跟着来再操作一遍,争取一遍过、不出错,不要问为啥这么做,小白贴,大神绕道哈
。
第一步:注册表拉取“watchtower”,搜索框输入“watchtower”,选取小星星最多的这个“containrrr/watchtower”,下载,镜像很小,14M,应该很快就下完了。

第二步:不需要运行刚下好的镜像,不需要运行刚下好的镜像,不需要运行刚下好的镜像。
打开 控制面板——任务计划——新增——计划的任务——用户定义的脚本。


常规选项卡:任务名称随便填,限定英文、数字和空格;账号选root

计划选项卡:根据自己实际需要,个人认为不需要太频繁,个把月更新一次都行。

任务设置选项卡:重头戏!仔细看!
通知设置这块小白没必要操作,忽略。
运行命令的框里面粘贴引号里的内容,大妈里直接粘贴不进来,我重新敲了一遍,应该不会被吞掉吧
为避免不必要的麻烦,没必要回车换行,要注意每个命令中间的空格、一道杠、两道杠
“docker run --name XX --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --run-once XXX XXXX XXXXXXX"
下面是命令和红色需要替换内容的解释:
docker run ##docker运行的命令
--name XX ##给要运行的docker起个名字,XX,随便取,例如我取的“WT”,你想直接用“XX”也行,不要和你现有docker名字重复
--rm ##让这个docker运行完自行删除本容器
-v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower ##原封不动复制上,注意第一个-v后面和containrrr前面是有个空格的
--cleanup ##删除旧的docker和镜像
--run-once ##只运行一次,反正咱有计划任务呢
XXX XXXX XXXXXXX ##这是你需要更新的容器的名字,多个名字用空格隔开就OK
全部命令如下图,例如我要更新的是“TMM zt qinglong jellyfin-1”这4个容器
这里看起来像换行了只是因为同行显示不下的原因注意1!对于小白来说,稳定才是最好的,所以你认为用着没毛病不想更新的docker,就不要把名字写在这里,避免更新后造成不必要的麻烦。但是!如果一个名字都不写,他会更新全部容器!所以只把想要更新的容器名字或者无所谓折腾的容器名字写在这,并按需开启任务计划。
注意2!容器名字≠镜像名字,容器名字是啥,有的人会让你用docker ps去拉一下看一下,但是呢,我是小白诶,直接打开docker或者container manager的容器界面,没错,这就是你要的容器名字,就是当初你运行每一个镜像时给他起的名字。

全部搞完,点确定保存,系统会提示什么root巴拉巴拉的,填管理员密码下一步下一步就ok。
然后可以直接点上面的运行立即执行一次,可以查看结果,用来检查看有没有问题。只要空格和容器名字什么的正确,理论上不会有其他问题。

PS:如果任务检查到了需要更新的docker,会自动删掉你在运行的容器,拉取新镜像,并按原配置重新为你创建容器并运行,这个过程根据镜像大小会有不同,在任务运行期间,你会发现在容器界面多了一个名为“XX”(上文中你所起的名字)的容器正在运行,这个就是watchtower在工作啦,工作完自己会把自己删掉,仿佛从来没有出现过,而被更新的容器会暂时消失,更新结束后会重新出现并自动运行。
至于更新了哪几个?简单点来看,通知中心会提示你有几个容器意外停止运行,这就是刚刚更新过的几个,从镜像界面也能看到更新镜像的创建时间发生了变化,至于他是从哪个版本更新到了哪个版本,操那么多心干嘛、不重要不重要
———————————
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

Evolution-GM
校验提示文案
九天御风只影游
校验提示文案
任云飘
校验提示文案
用户因颜值过高被禁用
校验提示文案
香草拿铁不加糖
校验提示文案
消遣9527
校验提示文案
消遣9527
校验提示文案
香草拿铁不加糖
校验提示文案
用户因颜值过高被禁用
校验提示文案
任云飘
校验提示文案
九天御风只影游
校验提示文案
Evolution-GM
校验提示文案