头图

✨ 自动化更新 Docker 应用:Watchtower 魔法🐳

自动化更新 Docker 应用:Watchtower 魔法✨🐳

原文链接:Updating Docker Apps automagically with Watchtower
作者:Jonas Scholz
译者:倔强青铜三

前言

大家好,我是倔强青铜三。是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!

引言

你是否曾在服务器上部署 Docker 应用,但每次将新版本的镜像推送到 Docker 注册表时都需要手动重启应用?如果你想要自动化这一重启过程,那么这篇博客文章正是为你准备的!我将向你展示如何使用 Watchtower 通过1个简单的命令来实现这一点!

本教程假设你已经有了一个自动构建并推送容器到注册表的流程。如果你还没有,我建议你阅读并遵循这个教程,或者简单地使用像 Sliplane 这样的现成解决方案。

让我们开始吧!🚀

设置

首先,运行你想要自动更新的容器。然后,运行以下命令,并替换 usernamepasswordcontainer_to_watch

docker run -d \
  --name watchtower \
  -e REPO_USER=username \
  -e REPO_PASS=password \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower container_to_watch --debug --interval 300

这将运行 watchtower 容器(containrrr/watchtower)在后台(-d),将其命名为 watchtower,并传入你的 Docker 容器注册表的用户名和密码(-e REPO_USER=username -e REPO_PASS=password)。

Watchtower 现在会定期检查你的 Docker 镜像是否已更改(在你的远程仓库中!),一旦更改就会拉取新版本。然后它会优雅地关闭你的旧容器,并使用相同的配置但带有新镜像重新启动它。默认的轮询间隔是24小时,如果你问我,这相当保守。你可以使用 --interval x 来更改轮询间隔,其中 x 是要等待的秒数。如果你想每5分钟检查一次更新,你会添加 --interval 300

结论

就是这样!现在你的 Docker 应用应该每次你推送新镜像到你的 Docker 仓库时都会更新。

最后感谢阅读!欢迎关注我,微信公众号倔强青铜三。欢迎点赞收藏关注,一键三连!!!

倔强青铜三
23 声望0 粉丝