我创建了一个 Github 仓库和一个 Docker 仓库。两者配合得很好:当我将新版本的 Dockerfile 推送到 Github 时,Docker 仓库中会自动构建一个新镜像。
现在,我想在基础映像(重新)构建时自动更新正在运行的容器。
如何使用 Docker repos webhook 实现它?
答案1
Century Link Labs 团队开发了两个新的开源工具,可以使用 Web 挂钩来更新正在运行的容器。
他们的第一个应用是十二生肖它使用“推送”部署模型。它是一款基于Docker 组成,可轻松部署和回滚 dockerized 应用程序。它保留所有部署的历史记录,还允许您回滚到以前的部署。
他们的第二个应用程序岗楼使用“拉”部署模型。此模型允许位于防火墙后面的 Docker 容器检测并更安全地拉取更改,而无需暴露外部端口。
Watchtower 知道如何正确重启一组链接容器。如果检测到一组链接容器中的一个依赖项有更新,Watchtower 将停止并按正确顺序启动所有容器,以便应用程序正确重新启动。
我与 Century Link Labs 没有任何关系。
你可能想看看的另一个更简单的应用程序是Docker Puller。
答案2
还有最近的一个docker-image-puller 复制代码
它直接连接到 Docker 的套接字,并使用 Docker API 来更新使用您在 webhook 中指定的映像的正在运行的容器。它非常简单,将来可能会添加更多选项
答案3
我发现了这个,但我还没有尝试过:
https://medium.com/@iaincollins/docker-swarm-automated-deployment-cb477767dfcf这是一篇关于使用 webhook 通过 docker hub 部署容器的文章。
基本上,它告诉您可以使用某种工具(查看下面的链接)来处理docker“机器”上的webhook。 https://github.com/iaincollins/docker-deploy-webhook