1. 首页
  2. 科技数码

如何优雅的使用一条命令更新群晖docker容器-Watchtower教程

前言

群晖的docker是折腾的灵魂之一,给群辉增加了许多玩法,(更多玩法请查看我的其他文章)我本身也搭建了很多docker容器,之前也写过了很多文章,但是群晖容器更新一直是一个麻烦问题,需要重新映射文件夹配置端口等,虽然网络上搜索群晖更新docker有很多教程,但是要不已经年久失效,要不不够详细,经过一段时间的折腾,对于Watchtower这个自动化容器更新程序非常喜欢。本篇文章将记录如果部署Watchtower和使用它更新容器

脚本解析

为了容器和服务的安全这里我只贴上一个适用于大部分人的脚本,想实现更多玩法的请查看Watchtower官方文档。

下面的脚本将实现下面效果:使用群晖计划任务来执行脚本,手动运行计划以后,将自动创建一个名称为 watchtower的容器,容器会执行下面操作拉取emby-embyserver1最新的镜像,然后使用相同的配置去更新emby-embyserver1容器 emby-embyserver1 容器更新成功以后,会自动删除本次运行的Watchtower容器。

注意!!!最后一行的emby-embyserver1为需要更新容器的名称,多个容器之前用空格隔开,请按照需求修改为自己想更新的容器的容器名、容器名、容器名(如果不添加此参数将默认更新全部容器这里非常不推荐)

docker run --rm
-v /var/run/docker.sock:/var/run/docker.sock
containrrr/watchtower
--cleanup
--run-once
emby-embyserver1

Watchtower搭建过程

Watchtower: 是一款实现自动化更新 Docker 镜像与容器的实用工具.它监控着所有正在运行的容器以及相关镜像,当检测本地镜像与镜像仓库中的镜像有差异时,会自动拉取最新镜像并使用最初部署时的参数重新启动相应的容器.

1、登录群辉, 打开docker→注册表搜索 Watchtower,找到第一个双击下载版本选择最新版本即可(latest)。

如何优雅的使用一条命令更新群晖docker容器-Watchtower教程

2、下载好以后无需运行和配置,打开群晖控制面板→任务计划→新增→计划的任务→用户定义脚本

如何优雅的使用一条命令更新群晖docker容器-Watchtower教程

3、常规中选择root账户,出现的提示框请选择确定。

如何优雅的使用一条命令更新群晖docker容器-Watchtower教程

4、计划中勾选在以下日期运行其他保持默认。

如何优雅的使用一条命令更新群晖docker容器-Watchtower教程

5、任务设置中勾选通过电子邮件发送运行详情,【用户定义的脚本】粘贴上自己 修改好的脚本,这样在脚本运行完成以后会有邮件通知,然后点击确定会出现一个任务。 (如果未配置邮件通知请查看我这篇文章。)

群晖设置邮件通知微信通知_NAS存储_什么值得买 (smzdm.com)

如何优雅的使用一条命令更新群晖docker容器-Watchtower教程

如何优雅的使用一条命令更新群晖docker容器-Watchtower教程

效果演示

1、效果演示中将通过Watchtower来自动更新embyserver,目前embyserver的版本为4.6.7.0,官方最新版本为4.7.0.62 。

如何优雅的使用一条命令更新群晖docker容器-Watchtower教程

如何优雅的使用一条命令更新群晖docker容器-Watchtower教程

2、回到计划任务界面,找到刚才添加的任务,选中之后点击上面的运行,然后点击一次。

如何优雅的使用一条命令更新群晖docker容器-Watchtower教程

3、点击运行以后,容器列表会自动创建镜像更新容器objective_dubinsky,因为后台需要下载新的镜像,所以需要一些时间,下载好以后会用旧的容器配置新的镜像重新部署。(等待时间看网络情况)

如何优雅的使用一条命令更新群晖docker容器-Watchtower教程

4、容器配置成功以后会向之前任务计划里面配置好的邮箱发送邮件,大概内容如下。

如何优雅的使用一条命令更新群晖docker容器-Watchtower教程

5、登录emby,看到已经升级到最新版本。

如何优雅的使用一条命令更新群晖docker容器-Watchtower教程

总结

使用Watchtower来更新docker镜像,大大简化了部署的重复步骤,非常推荐使用。

注意事项

非常不建议使用默认配置进行全部镜像的更新,如果容器运行稳定且没有大的功能更新不建议进行镜像更新,重要容器请先备份(暂停容器以后,在设置→导出,选择完整导出之后在操作,这样出问题以后也方便恢复)。

如何优雅的使用一条命令更新群晖docker容器-Watchtower教程

教程结束如何优雅的使用一条命令更新群晖docker容器-Watchtower教程

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

原创文章,作者:夜风博客,如若转载,请注明出处:https://www.homedt.net/47453.html