黑群老司机转正威联通——QNAP TS-451D安装watchtower自动更新Docker应用
创作立场声明:创作立场声明:个人原创,请勿匿名转载
大家好,今天这篇文章还是以前系列的延续,我之前也写过几个关于QNAP威联通上部署的一些私人应用。
比如网摘的Wallabag
密码管理的Bitwarden
写文章的wiz为知笔记
智能家居的Home Assisant
那么一直有一个问题困扰着我,就是docker里的这些应用,它不像APP Center里的那些APP一样,会自动检查提示更新的。而有些docker应用的更新则是很频繁的,例如Home Assisant,更新非常频繁,每次我都得停止容器,清除容器,再更新镜像,再重新设置容器,感觉非常麻烦。
如果你有同样的困扰,那么就应该看看这篇文章,来学学如何部署watchtower,自动更新docker应用。
首先我先说个其他的事项,就是关于Wallabag数据库的问题。
经过测试,确认/docker/wallabag/data/db/wallabag.sqlite 这个文件就是数据库,理论上我们备份这个数据库就可以了。但是Wallabag在版本升级的时候,有些新版本不支持数据库的直接升级,所以wallabag不太适合用watchtower自动更新。也建议大家每次更新wallabag的时候,单独做下导出的工作。
下面开始正式部署watchtower(部分内容学习参考了sleele的文章,特此感谢)
https://sleele.com/2020/04/01/watchtower-docker-compose
进入ContainerStation,点击创建应用程式。
这次我们用docker-compose的方法来创建应用。
https://containrrr.dev/watchtower/usage-overview/
直接粘贴如下内容
version: "3"
services:
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: always
environment:
- TZ=Asia/Shanghai
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: wallabag home-assistant --debug --cleanup --schedule "0 0 4 * * *"
命名应用程序名称,验证,创建
简单解释下
image: containrrr/watchtower #下载的镜像名称
container_name: watchtower # 容器的名称
restart: always #重启后自动运行
environment: - TZ=Asia/Shanghai #时区,watchtower现在支持时区了
volumes:- /var/run/docker.sock:/var/run/docker.sock #目录映射,这个不用映射到本地目录
command: wallabag home-assistant #指定的需要自动更新的容器名,如果你不需要它来更新wallabag就不在这里写
--debug #日志(务必加上,不然都不知道运行正常不)
--cleanup #清理掉旧的镜像
--schedule "0 0 4 * * *" #是凌晨4点检查并更新,务必是6个字符时间是倒序 秒 分 时。(比如每天23点59分58秒,就是58 59 23 后面的星号务必保留)
点击创建后,系统会自动下载watchtower镜像,并启动
docker-compose方式建立完成后就是这个样子的,是APP下嵌套的docker。这样watchtower就部署好了。是不是很简单?
到了指定时间,就会开始检查并更新了。其实这篇文章前天就写好了,所以我的镜像都是已经更新过的,这里显示是没有更新的版本了。但是之前我参考sleele的文章里没有写--debug的参数,所以一直不清楚运行是不是正常的。
watchtower我没有找到指定版本的镜像的自动更新办法,本来是指定降级了下wallabag到2.4.0的,结果无法更新。这也是用了--debug的参数才看到的。
为什么这次要用docker-compose的方式来部署watchtower,原因就是docker-compose更方便修改和调整参数。点击这个编辑的小图标。
直接修改YAML文档,然后应用就可以了,容器就会重新启动并更新参数。所以docker-compose的方式非常适合watchtower这种参数很多,需要调整的的docker应用。
Home Assisant 2021.3.4——2021.4.5
因为我们设的是凌晨4点后台更新,所以早上起来看看更新情况,可以看到如果有新版本,都自动更新到了最新版本。
但是因为wallabag的升级容易出现数据库不能用的问题,所以不推荐wallabag的自动升级,毕竟如果是手动升级,你可以先备份下相关数据,或者使用官方推荐的升级命令来进行升级。我这次的数据库也崩了,还是丢失了一部分的网摘。
刚刚又去看了下,HA又升级了,现在是2021.4.6版了,所以用watchtower来自动更新docker应用还是非常方便和实用的。
好了,这次的分享就结束了,希望大家都能够学会并应用,让NAS更好地服务我们的生活。
befantasy
校验提示文案
灵KOYB
校验提示文案
小杉2013
校验提示文案
晋升奶爸的垃圾佬
校验提示文案
befantasy
校验提示文案
什么值得_buy
校验提示文案
YBLoveCX
校验提示文案
杯具上演帝
校验提示文案
befantasy
校验提示文案
杯具上演帝
校验提示文案
YBLoveCX
校验提示文案
什么值得_buy
校验提示文案
befantasy
校验提示文案
晋升奶爸的垃圾佬
校验提示文案
小杉2013
校验提示文案
灵KOYB
校验提示文案