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

2022-05-25 11:15:24 22点赞 190收藏 21评论

前言

群晖的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教程

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

展开 收起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2499元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

4099元起

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

8899元起

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

1549元起

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

4899元起

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

7196元起

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

4099元起

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

1399元起

Synology 群晖 DS218+ 2盘位 NAS网络存储服务器 京东云定制版(J3355、2GB)

Synology 群晖 DS218+ 2盘位 NAS网络存储服务器 京东云定制版(J3355、2GB)

暂无报价

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

13746元起

Synology 群晖 DS416 企业级 NAS网络存储

Synology 群晖 DS416 企业级 NAS网络存储

暂无报价

Synology 群晖 DS420+ 4盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS420+ 4盘位NAS (赛扬J4025、2GB)

3090元起

Synology 群晖 DS423 四核心 4盘位 NAS网络存储 私有云 照片自动备份

Synology 群晖 DS423 四核心 4盘位 NAS网络存储 私有云 照片自动备份

3199元起

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

2299元起
21评论

  • 精彩
  • 最新
  • 容器名称有没有什么要求?? 这块很含糊 看你的容器名称是embyserver1 但是你填的是emby-embyserver1。
    第二代码有没有什么要求我看你发的代码和你填的代码每行都多个空格\。

    校验提示文案

    提交
    容器名称 就填写你容器的名称就行 如果不确定可以使用ssh命令 输入docker ps 查看你容器的名称

    校验提示文案

    提交
    收起所有回复
  • 收藏了,能同时更新全部容器吗?

    校验提示文案

    提交
    可以但是不联系这么操作

    校验提示文案

    提交
    收起所有回复
  • 代码里没有/ 大家复制代码一定得看图片位置里自己加/ [喜极而泣]

    校验提示文案

    提交
    是 \ 吧

    校验提示文案

    提交
    docker run --rm \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower \
    --cleanup \
    --run-once \
    emby

    校验提示文案

    提交
    收起所有回复
  • 还是containerCE更好用

    校验提示文案

    提交
  • 就怕升级后配置方式换了,导致容器起不来了。我感觉稳定点好,没必要追求最新的。

    校验提示文案

    提交
  • 额 那位大师讲一下“无需运行和配置”咋理解 是说这要把watchtower的映像下载下来就行了?不用安装这个映像么?···

    校验提示文案

    提交
    通过下面的计划任务来配置运行,不需要你手动配置

    校验提示文案

    提交
    收起所有回复
  • 按照配置后不能用

    校验提示文案

    提交
    当前状态:127 (已中断)
    标准输出/错误:
    "docker run" requires at least 1 argument.
    See 'docker run --help'.

    校验提示文案

    提交
    显然,你没有\

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 升级到群晖7.1后这个好像就不能用了 我之前配置好后后可以自动更新的 但是现在不行了

    校验提示文案

    提交
  • DSM7.1失效。
    度娘docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --run-once这个可以用。

    校验提示文案

    提交
  • docker run --rm --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --run-once XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX

    这个命令可以用 把“XXXXXXXX”替换成自己的docker容器的名称就可以了

    校验提示文案

    提交
    感谢了,可以用啦

    校验提示文案

    提交
    这个可以,多谢分享 [赞一个] [欢呼]

    校验提示文案

    提交
    收起所有回复
  • 没成功,提示不是中断125就是127 [喜极而泣]

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

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