Docker Compose可以很方便地下载和管理容器,但是无法自动化地更新镜像,这么多镜像我们总不能一个个地手动更新新的镜像,好在早就有人找到了解决办法,就是使用Watchtower。我看了下GitHub上最近的commit都是两年前了,说明代码已经非常稳定了,可以放心使用。
安装
安装非常简单,这是compose文件
services:
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: unless-stopped
environment:
- TZ=America/Toronto
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command:
--interval 86400 --label-enable --cleanup
labels:
- "com.centurylinklabs.watchtower.enable=false"
使用
使用也非常简单,在所有需要自动更新的镜像的compose添加如下两行配置即可,watchtower会接入docker.sock然后扫描所有需要更新的镜像,如果有true则自动下载新的镜像,删除旧的镜像,上面compose里的command的interval是检查更新的频率,86400指的是每天检查一次。配置好之后啥也不用动了,所有操作都是无感的。
labels:
- "com.centurylinklabs.watchtower.enable=true"