什么是 watchtower ?
watchtower 是一款实现自动化更新 Docker 镜像与容器的实用工具。它监控着所有正在运行的容器以及相关镜像,当检测本地镜像与镜像仓库中的镜像有差异时,会自动拉取最新镜像并使用最初部署时的参数重新启动相应的容器。
Docker手动升级流程
在介绍自动升级前,让先我们来了解一下手动升级的流程,以 Airsonic
为例
1、在注册表选择最新(latest)的映像下载(由于名字和以前下载的一样,在映像里只有一个,在DSM消息里有提示下载完成即可)
2、在容器里选择正在运行的 airsonic,在上面的操作里选择 停止-->清除-->启动
,就完成升级了。(数据不会丢失)
3、映像下载慢可以使用阿里等国内镜像下载,启动完成后,已经是新版本了
用watchtower自动升级
一般采用 docker run
方式,SSH 登录到群晖后用命令行执行
快速启动
执行以下标准命令启动 watchtower
容器,watchtower
将开始监视我们正在运行的 Docker 容器,并每隔几分钟检查一次所有容器的镜像是否为最新版,如发现镜像更新将会自动停止容器,删除容器,拉取最新镜像,再以之前启动容器的命令启动容器。
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower