范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

如何优雅的更新Docker容器?使用Watchtower让Docker容器自动更新

  本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:Stark-C
  我们在折腾NAS上 Docker 的时候,一般更新容器还需要手动停止容器,然后重新映射文件夹配置端口,重新拉取一次镜像,最后还要在重启容器。虽说步骤不多,但是如果Docker 容器比较多的话,操作起来还是很麻烦的。
  今天就教大家一种可以利用Watchtower这款神器,实现Docker容器自动更新的小技巧,有需要的小伙伴先收藏,再观看!
  今天使用的NAS为威联通TS-464C,作为家用型4盘位旗舰款,它搭载了Intel 四核心处理器,支持Intel OpenVINO AI引擎,配置了双2.5GbE口,NVMe双M.2插槽,再加上USB3.2和HDMI2.0的加入,不管是玩Docker还是折腾虚拟机都游刃有余!
  关于Watchtower
  什么是Watchtower?
  Watchtower 是一款自由开源的应用,它本身自己也是一个 Docker 镜像,主要作用是用来监控运行中的容器最初启动时的镜像是否需要更新。
  Watchtower如何工作?
  Watchtower在运行之后会监视NAS中正在运行的容器以及相关的镜像(可以是全部也可以是我们指定的),当它发现运行容器中的镜像已经有变动并需要更新的时候,它会以发送 SIGTERM 信号的方式,先结束运行中容器运行,然后会根据我们设定的指令(其实就是一条命令行),用该容器镜像最开始相同的参数自动重新启动相应的容器,甚至包括Watchtower本身,就是这么简单!
  还不理解?你就把它看作是我们手机上的应用市场,而Docker容器就是手机上的APP,应用市场实际上也是一个APP,但是通过它可以更新手机上所有的APP。 部署Watchtower
  前面说过,Watchtower的运行仅需一条命令即可完成,所有我们想要什么样的Docker 更新效果就在于我们命令的参数。所以接下来我将从各种需求来教大家如何设定Watchtower的部署命令!
  为了让小伙伴们更好的抄作业,以下命令全部都在SSH连接的模式下进行。SSH连接工具请自备(Putty,XShell,FinalShell等),我演示的为FinalShell。
  快速更新全部容器(不推荐)
  这个是Watchtower默认的命令(原始命令),在这个命令下,我们可以快速的部署Watchtower程序。
  命令为:
  docker run -d —name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower
  但是这个命令默认更新的是所有运行中的容器,包括Watchtower自己。如果说你NAS中就部署了几个Docker容器,并且也确实需要让它们全部保持最新,这个命令就适合你,但是如果你NAS里面的Docker容器非常多,并且还有多个容器联动达到一个目的(比如搭建影音库就需要多个Docker容器联动),或者说有些容器已经很稳定我们不需要更新,全部更新可能会出现问题。
  指定更新容器
  通过这种方法,我们可以更新指定的容器,而没有被指定的容器则不会被更新。
  在更新指定的容器前,我们需要知道我们需要更新容器的名字。命令为:
  docker ps
  在后面"NAMES"下面便是我们NAS中运行的所有Docker容器的名字。
  假设我们需要监控并更新的容器为 librespeed-1和 portainer,我们需要的操作为:
  命令为:
  docker run -d —name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower librespeed-1 portainer
  简单来说,它只需要在Watchtower默认的命令后面加上我们指定的容器名字即可,并且多个容器名字只用空格隔开即可,就这么简单!
  自动清除旧镜像
  默认命令如果长期使用会堆积非常多的标签为 none 的旧镜像,这些旧镜像占用的可是我们NAS中的磁盘空间,这个时候我们只需要在命令后面加上" —cleanup "的参数选项,这样每次更新都会把旧的镜像清理掉。
  命令为:
  docker run -d —name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower —cleanup XXXX
  XXXX为指定容器名字。
  指定更新频率
  这里有两种方式可供选择,两种方式任选其一便可!
  ❶设置更新时间间隔,单位为秒,加入的命令参数为" —interval "。比如说我们需要设定每一个小时检查一次更新的频率:
  命令为:
  docker run -d —name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower —cleanup —interval 3600 XXXX
  XXXX为指定容器名字。
  ❷设置定时检测,格式为 6 字段 Cron 表达式,加入的命令参数为" —schedule "。比如我们需要每天凌晨 3 点种检查更新:
  命令为:
  docker run -d —name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower —cleanup —schedule "0 0 3 *" XXXX
  XXXX为指定容器名字。
  前台模式(手动更新)
  前面介绍的更新Watch­tower都是以 detached(后台)模式运行的,而 foreground(前台)模式可以说是手动模式,也就是说Watch­tower运行一次就自动退出容器,下次需要的时候在次启动便可,这个对于更新次数比较少的容器还是非常有用的。这个模式需要加入的命令参数为" —run-once "
  举例说明,我们需要检查更新librespeed-1和 portainer ,并且更新好之后退出本次运行创建的 Watch­tower 容器:
  命令为:
  docker run -d —name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower —cleanup —run-once XXXX
  XXXX为指定容器名字。
  通过威联通的Container Staion可以发现,Watch­tower 确实为退出状态。 实操演示
  说了那么多,还是为小伙伴们展示一次实操结果吧!
  比如说我NAS上的qbittorrentee镜像目前在DockerHub上的最新版本为4.5.2.10
  但是我NAS上部署的容器显示的版本为4.5.1.10,很明显低一个版本。
  我的需求是只更新一次qbittorrentee容器,之让Watch­tower退出。按照前面所说的命令格式,它的完整命令为:
  docker run -d —name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower —cleanup —run-once qbittorrentee
  大概过了30秒,等我在次打开qbittorrentee界面,版本已经为最新的4.5.2.10
  并且Watch­tower已退出,就是这么简单~!
  对于刚刚命令的运行结果,我们还可以查看日志。命令为:
  docker logs -f watchtower
  一步小心我又杠到深夜了,为了满足不同需求的小伙伴,以上每个命令我都需要不停的删除,然后重新部署才得以完成,难度不大,但是非常的耗费时间。
  本篇文章也是我特意为NAS上玩Docker开设的个人专栏第一篇,还请小伙伴们多多支持!后续会有更多精彩的内容分享给大家!
  好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,我会经常给大家分享各类有意思的软件和免费干货!谢谢大家~

美国是世界霸主,为什么不彻底征服中国以绝后患?尝试过失败了作为世界老大,美国在国际上享有一定的话语权,在军事和科技方面,也是遥遥领先。除此之外,美国还拥有着得天独厚的地理位置,在前两次世界大战的时候,美国一直持隔岸观火的态度,坐收渔翁之利30周年玩点不一样的?改变从颜值暴涨开始ThinkPadZ16评测大泽科技SHOW早在6月24日,ThinkPad的全新产品ThinkPadZ系列就已正式发布。由于是在国外发布,所以很可能有些国内的小伙伴看到这篇文章才得知此事。适逢ThinkPa龙旗科技量化投资行业的长跑者坐落于风景如画的杭州西溪湿地的龙旗科技是一家老牌量化私募,龙旗也是国内成立最早的量化私募之一,经历十年牛熊,积累了丰富的经验。来了解一下龙旗的三大特色吧!1十年长跑,不断创新中国的大明王朝知识点概述1368年,朱元璋称帝,国号大明,建元洪武,定都南京,开创洪武之治。其死后,传位孙子朱允炆,史称建文帝。建文帝在位期间采取一系列削藩措施,严重威胁各大藩王的利益,坐镇北平的燕王起兵玻尿酸护肤功能有多强大?润百颜产品带你读懂科技护肤你听说过科技护肤吗?可能大多数人在护肤中从来没考虑过护肤品中的科技含量,仅是过分关注了护肤品的功效。但其实,科技护肤才是高质量护肤的制胜密码。科技护肤对于很多人来说稍显陌生,其实我汇聚起奋进新征程建功新时代的强大力量习近平谈治国理政第四卷生动记录了两年多来习近平总书记领导党和人民应变局育新机开新局的伟大实践,是闪耀着真理光辉的马克思主义纲领性文献,是学原文悟原理知原义的最权威教材,具有很强的真人生导师甄嬛告诉女人们要强大,要通透,要成为自己的盔甲我是用文字温暖你的夕言,点击上方蓝色按键关注我哦。说到强大且通透的女人,甄嬛必须榜上有名。作为宫斗冠军,她经历了坎坷但也成功逆袭,虽然最终的结局并不是完美的,却也可以算得上是人生赢一个女生内心强大的6个征兆卡耐基在做个内心强大的女人中有句话一个内心强大的人,才能真正无所畏惧。也只有内心的强大,我们在生活中才会处之泰然宠辱不惊,不论外界有多少诱惑多少挫折,都心无旁骛,依然固守着内心那份在广德的半仙,能料知生死明代名医谢表,上虞县(今浙江省绍兴市上虞区)人,年少从医,有死里回生之术,亦能察言观色,料知生死。既而业医,于脉理有独解,且能望而决人生死。时上虞有一刘姓者,患痘疾,看上去已经死了看到辛德勒名单之后感受再次重温了辛德勒名单之后,这是第十四遍了,还是感到了影片的力量,真是让人血脉沛张,这是一个民族的呐喊,犹太人死亡了600万,就有了如此震撼的伟大影片,这也是民族实力与势力的抬头,是吏瘦民肥简单四个字,道出了百姓心底期盼和廉吏的豁达开悟去年夏天,我在江苏泰兴黄桥镇一处古色古香的宗祠里,看到一块牌匾,上书四个大字吏瘦民肥。顿时,眼睛为之一亮。高悬着的字匾(刘晶晶摄)讲解员小刘介绍,吏瘦民肥是明代江西德兴县民众对知县
什么牌子的醋比较好?简单地说,比较好吃的醋,除了名扬四海的山西镇江保宁永春四大名醋之外,其他省市也有比较出名的地方醋值得品尝一下。粮食醋是我国最传统的调味品和保健品,可以说,这种以粮食发酵而成的酸性液几十块的耳机和上千的耳机差别在哪儿?耳机是个有趣的东西,作为一个音乐的载体,便宜的有9。9淘宝包邮,贵的有几千块一条的耳塞。那好耳机和差耳机在体验上到底差别在哪里呢?引用知乎一段简单粗暴的评论你听惯了差耳机再听好耳机滴滴打车附近有很多车,为什么叫车却要排队?根据我打滴滴以及对软件后台的了解,可以告诉你滴滴派单并不是就近派单,而是根据你日常接单的数据作为参照,从而派单给你,这就是为什么很多滴滴司机接不到最近的订单的原因。那么,有没有办法微信怎么自动抢红包?谢谢邀答类似的问题我之前回答过,在这里我再针对性的回答一次。首先微信自身肯定不会有任何插件来供用户自动抢红包。另外大家也不要去网上下载微信抢红包助手,很多恶意软件都需要获得你手机的荞麦面用什么水和面?如何做?谢邀答。荞麦面用什么水和面?如何做?。在没有回答正题之前,蜥蜴小哥觉得有必要和各位看官大概的了解一下有关荞麦面的常识,这对我们简单的了解荞麦面的产地做法以及荞麦面的营养价值荞麦面和高中物理有哪些学校不讲但是考试非常有用的结论?高中物理中有许多拓展小结论,对于解题非常有帮助,在平时学习中需要多留意,在理解的基础上熟练背诵,提升解题意识,在很多考试中可以大大加快解题速度。为什么有些学霸可以秒解很多难题?其实想换手机了,家人们有什么性价比高的推荐下?1000元以下,推荐红米手机10002000元,推荐iqoo20003000元,推荐红米K4030004000元,推荐iqoo84000元以上,推荐荣耀,iqoo,苹果文小伊评科技有哪些堪称神器的工具或软件?有一个文件管理器叫FreeCommander有一款高效浏览器叫CentBrowser有一种内存加速盘叫Ramdisk再加上几件利器,助你打造一把Windows瑞士军刀Everyth复读对一个人的影响有多大?复读对于一个知道学习机会来之不易的学生,用心读书的人帮助是很大的。1。只要努力读书,找到学习方法,成绩还是可以提高的,如果你今年的分数和你预期差的不是太多,是可以赶上的。2。任何事如果你的蛇病了,你会选择治疗还是放弃?一个男生的蛇,可以算是对这个男生来说,最重要的东西了,虽然很多时候这种东西没有办法用金钱来衡量,但是我觉得在允许的情况下,虽然可能要花费高额的资金来修复你的舌,但是你如果现在不修复怀孕后期你是怎么度过的?37岁生二胎,整个孕期每天坚持跑步健身,体重涨了约二十斤,38周时每天还跑十公里,不过383我就去剖了,产检时发现宫缩厉害,由于头胎就是剖,所以当时医生直接让办理住院准备手术了。没