群晖小白也能轻松更新Docker

2023-08-29 11:46:10 10点赞 180收藏 17评论

相信现在很多值友家里都会有一台NAS,我也是在19年初的时候攒了一台j3455 4盘位的黑群,偶尔刷刷PT,下下电影动漫,存点照片什么的,顺便虚拟机做个旁路由,很少折腾它,也没装几个docker。

当初装的是6.X来着,现在升到了7.2当初装的是6.X来着,现在升到了7.2

今年闲着没事的时候,趁着清理以前旧资料和换硬盘的功夫把系统有损升到了7.2,发现以前的Docker不见了,找了半天发现原来是摇身一变变成了Container Manager,并且支持docker-compose了,于是开始琢磨着装点有用的docker玩玩,包括但不限于auto-bangumi之类的。

docker的安装和运行是比较简单啦,但是后续开发者难免会对docker进行更新,加入新的内容啊、改掉BUG啊之类的,尤其是一些有稳定开发团队的火热的项目,更新可能更频繁,这时候我们难免的就会心痒痒也想要把自己运行的docker更新到最新版来体验一下,于是乎就有了今天这篇水文...群晖小白也能轻松更新Docker

对于像我这样的小白来说呢,更新docker最好的路子呢,其实就是不更新群晖小白也能轻松更新Docker因为对于缺乏专业知识的我们来说,用着稳定的才是最好的,但是呢,谁还没有偶尔想折腾一下的时候呢是不是,所以一定要有一个简单无脑的方式来更新docker,接下来进入主题,有请我们的主角watchtower”。

关于watchtower,其实站内和网上都有过一些介绍贴,但是呢,小白常有而教程不常有,本着授人以渔不如喂到嘴里的精神,于是今天跟着来再操作一遍,争取一遍过、不出错,不要问为啥这么做,小白贴,大神绕道哈群晖小白也能轻松更新Docker

第一步:注册表拉取“watchtower”,搜索框输入“watchtower”,选取小星星最多的这个“containrrr/watchtower”,下载,镜像很小,14M,应该很快就下完了。

群晖小白也能轻松更新Docker

第二步:不需要运行刚下好的镜像,不需要运行刚下好的镜像,不需要运行刚下好的镜像。

打开 控制面板——任务计划——新增——计划的任务——用户定义的脚本。

群晖小白也能轻松更新Docker群晖小白也能轻松更新Docker

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

群晖小白也能轻松更新Docker

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

群晖小白也能轻松更新Docker

任务设置选项卡:重头戏!仔细看!

通知设置这块小白没必要操作,忽略。

运行命令的框里面粘贴引号里的内容,大妈里直接粘贴不进来,我重新敲了一遍,应该不会被吞掉吧群晖小白也能轻松更新Docker为避免不必要的麻烦,没必要回车换行,要注意每个命令中间的空格、一道杠、两道杠

“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的容器界面,没错,这就是你要的容器名字,就是当初你运行每一个镜像时给他起的名字。

群晖小白也能轻松更新Docker

全部搞完,点确定保存,系统会提示什么root巴拉巴拉的,填管理员密码下一步下一步就ok。

然后可以直接点上面的运行立即执行一次,可以查看结果,用来检查看有没有问题。只要空格和容器名字什么的正确,理论上不会有其他问题。

群晖小白也能轻松更新Docker

PS:如果任务检查到了需要更新的docker,会自动删掉你在运行的容器,拉取新镜像,并按原配置重新为你创建容器并运行,这个过程根据镜像大小会有不同,在任务运行期间,你会发现在容器界面多了一个名为“XX”(上文中你所起的名字)的容器正在运行,这个就是watchtower在工作啦,工作完自己会把自己删掉,仿佛从来没有出现过,而被更新的容器会暂时消失,更新结束后会重新出现并自动运行。

至于更新了哪几个?简单点来看,通知中心会提示你有几个容器意外停止运行,这就是刚刚更新过的几个,从镜像界面也能看到更新镜像的创建时间发生了变化,至于他是从哪个版本更新到了哪个版本,操那么多心干嘛、不重要不重要群晖小白也能轻松更新Docker

———————————

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
17评论

  • 精彩
  • 最新
  • 我只想知道为什么你的注册表还能搜到东西

    校验提示文案

    提交
    不是,你搜不到东西的嘛、 [狂汗]

    校验提示文案

    提交
    7.0+好像可以

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 不对呀,我记得这样更新的话虽然容器是更新了,但是进去的话什么都没了,就像重新安装的一样。你的青龙面板更新过后难道那些任务还在?

    校验提示文案

    提交
    我配置的青龙、签到、bangumi之类的更新完配置都还在呀,你可以拿个没用的容器实验一下

    校验提示文案

    提交
    不在了可能是因为有状态服务的配置文件,数据卷等没有映射到本地目录。

    校验提示文案

    提交
    收起所有回复
  • 去年用J3455时候看了很多教程都升级不上7.2,后来觉得很少使用400加4G卖了。

    校验提示文案

    提交
    [赞一个] 啊这..

    校验提示文案

    提交
    收起所有回复
  • 7.01表示搜不到

    校验提示文案

    提交
    升级升级升级

    校验提示文案

    提交
    收起所有回复
  • 你那个watchtower是啥玩意,也没介绍,小白看的有点懵

    校验提示文案

    提交
    能用来自动更新其他镜像的镜像,我也是小白,没必要搞那么明白 [大吃一惊]

    校验提示文案

    提交
    收起所有回复
  • 7.2的注册表正常。6.23 7.1都要魔法

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
180
扫一下,分享更方便,购买更轻松