watchtower能自动拉取最新的docker镜像并将其自动运行,能在很大程度上减少运维的工作量。
网上关于它的使用方法与教程一大堆,但是基本上都是最基本的使用方法,在此就不赘述了。
我使用的是阿里云的docker私有镜像服务,发现watchtower并不能自动获取最新的镜像,在翻阅了官方原文档后才发现,watchtower需要获取私有镜像服务的认证方式后才能进行访问,调用方式如下:
docker run -d --name watchtower --restart always -v /root/.docker/config.json:/config.json -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -c
上面的代码中,/root/.docker/config.json文件,在docker登录阿里云的私有镜像服务后会自动生成,生成的位置应该是在登录后的根目录,用 ls -a 即可看到,你们按照具体情况自信替换路径。
这样,watchtower就能通过读取认证文件,从而能访问到阿里云的私有镜像仓库了。
顺便提一句,如果是Java项目的话,idea+jib+watchtower,能让你的开发变得超级舒爽!
参考资料: