IT小能手 影视后期
电视民工 资深站长

群晖Docker自动更新镜像

在使用Docker时有的镜像可能需要经常更新,通常情况下手动更新容器比较繁琐,需要四个步骤:

1.停止容器docker stop。

2.删除容器docker rm。

3.检查镜像更新情况,更新镜像,docker pull。

4.重新启动容器,docker ru。

容器较少还比较好如果有大量容器需要更新,那将会产生巨大的工作量。

现在为大家介绍一种自动更新容器的方式,该方法同样适用于群晖下的Docker。

Watchtower会监视运行容器并监视这些容器最初启动时的镜像是否需要更新。当Watchtower检测到一个镜像已经有变动时,它会使用新镜像,使用相同的参数自动重新启动相应的容器。同时Watchtower本身也被打包为Docker镜像,用一行命令即可使用Watchtower监控所有容器,然后所有容器都会自动更新,当然也包括Watchtower本身。

Watchtower本身被打包为Docker镜像,因此可以像运行任何其他容器一样运行它,其他的Docker环境下使用Docker命令直接下载镜像:

群晖中的Docker可以直接到注册表搜索下载:

其他Docker执行命令

用上面的代码即可在后台启动watchtower容器,并监控当前所有镜像的更新情况。因为watchtower需要与Docker API进行交互以监控正在运行的容器,所以在使用时需要加上 -v 参数将 /var/run/docker.sock 映射到容器内。

方法一:在群晖中使用群晖的计划任务运行watchtower

打开群晖任务计划,新建一个计划任务-用户自定义脚本,填入以下脚本,运行一次,更新所有的容器,并清除旧的容器。

可以在计划任务中设置自动运行,或者需要的时候手动运行一次。然后所有容器都会自动更新,也包括 Watchtower 本身。

 

方法二:

在群晖控制面板中,使用任务,可以执行脚本文件,来直接对watchtower进行配置和更新。

把上面的代码,直接复制到sh脚本文件中即可。

添加任务:

打开群晖控制面板,找到任务计划,新增,任务名称:自定义,用户账号:root。

上面的代码写进了 update_docker_img.sh,然后存放到了群晖nas存储盘中。

bash /volume1/docker/watchtower/update_docker_img.sh

上面代码中的 -i 3600如果不添加,也可以通过群晖的计划日期设置,可以设置时间来直接执行该脚本。

 

选项参数默认情况下,watchtower 将监视它所指向的 Docker 守护进程内运行的所有容器。

但你也可以在启动 watchtower 时指定特定容器的名称,从而只监视那几个特定的容器。例如:docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --run-once nginx redis这时 watchtower 将只监视名为“nginx”和“redis”的容器,所有其他正在运行的容器将被忽略。

如果你不想把 watchtower放在后台运行,就可以加入 --run-once 参数,watchtower 容器将在前台执行。使用 --cleanup 参数在更新后自动删除旧的镜像使用 --monitor-only 将仅监控新镜像并发送通知,不会更新容器使用 --interval 设置设更新检测时间间隔,单位为秒。比如每隔 1 个小时检查一次更新则为 --interval 3600。

更多具体的使用方式可以查看watchtower的官方文档,此处只列出了常用的两种方式。

群晖因为可以使用自动计划任务可以不使用--interval参数。

 

简单来说明一下:

docker run -d –name watchtower 创建运行名字为 watchtower 的docker容器

–restart always 重新启动设置

-v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower 关联docker.sock与containrrr/watchtower镜像文件

–cleanup 清理镜像后更新

watchtower需要更新的镜像名称(可以在后面添加多个其他需要更新的镜像,镜像名称之间以空格隔开即可)

-i 3600 设置的定时更新 3600秒计算为1小时 可以自行更改。



微信扫描下方的二维码阅读本文

 收藏 (0) 打赏

您可以选择一种方式打赏本站

支付宝扫一扫打赏

微信钱包扫描打赏

1、本站名称:LonHowe Blog
2、本站永久网址:https://lonhowe.cn
3、本站部分文章内容可能来源于网络(除特别注明原创外),仅供大家学习与参考,如需转载请注明出处。如有侵权,请给我留言联系我们进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布任何违法的相关信息,访客如发现请给我留言向我们举报,同时我们会保留相关记录,必要时上报相关部门。
6、本站部分文章存在时效性,若有错误或已失效,请给我留言联系我们,我们会第一时间更新。
文章名称:《群晖Docker自动更新镜像》
文章链接:https://lonhowe.cn/5436.html
分享到: 生成海报
一个爱折腾的狮子座少年。

热门文章

评论 抢沙发

  • QQ号
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

IT、数码、科技、资源、教程、建站、站长、源码、生活、杂谈

关于本站服务条款
切换注册

登录

点击按钮进行验证

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活

点击按钮进行验证