自动拉取docker个镜像容器
Automatically pull docker image container
我有一台安装了 docker 的 linux 裸机服务器。
我在计算机上从事 asp.net 核心项目。
我的源代码被推送到github。
每次我提交和推送内容时,github 都会在我的 docker 中心帐户上触发一个 webhook。
Docker hub 为我构建了一个包含我的 asp.net 核心应用程序二进制文件的新映像。 (docker 集线器也 运行 测试)
当我在我的服务器上手动拉取这个图像时,它工作正常。
我的问题是如何自动执行此操作?有没有办法让我的服务器 "detect" docker 集线器包含图像的新版本和 运行 一些东西来拉这个图像并自动触发数据库迁移?
谢谢
如果你有一个 public ip 可以让 dockerhub
等外部互联网访问你,那么你可以使用 Docker Hub Webhooks:
您可以像下图一样创建 webhooks,设置 url 外部可以访问您的服务,当图像被推送时,它将 post 一些 json 数据到 url 你提供了一个示例数据 here,然后你自己的 url 可以接收数据并做你喜欢的相关事情。
而且,如果你使用 jenkins,有很多插件可以帮助你做类似的事情:参考 Triggering Docker pipelines with Jenkins, also Polling Docker Registries for Image Changes
如果您没有 dockerhub
可以访问的 public ip,那么我猜您必须轮询 dockerhub 以查看那里是否有新图像...
我有一台安装了 docker 的 linux 裸机服务器。
我在计算机上从事 asp.net 核心项目。
我的源代码被推送到github。
每次我提交和推送内容时,github 都会在我的 docker 中心帐户上触发一个 webhook。
Docker hub 为我构建了一个包含我的 asp.net 核心应用程序二进制文件的新映像。 (docker 集线器也 运行 测试)
当我在我的服务器上手动拉取这个图像时,它工作正常。
我的问题是如何自动执行此操作?有没有办法让我的服务器 "detect" docker 集线器包含图像的新版本和 运行 一些东西来拉这个图像并自动触发数据库迁移?
谢谢
如果你有一个 public ip 可以让
dockerhub
等外部互联网访问你,那么你可以使用 Docker Hub Webhooks:您可以像下图一样创建 webhooks,设置 url 外部可以访问您的服务,当图像被推送时,它将 post 一些 json 数据到 url 你提供了一个示例数据 here,然后你自己的 url 可以接收数据并做你喜欢的相关事情。
而且,如果你使用 jenkins,有很多插件可以帮助你做类似的事情:参考 Triggering Docker pipelines with Jenkins, also Polling Docker Registries for Image Changes
如果您没有
dockerhub
可以访问的 public ip,那么我猜您必须轮询 dockerhub 以查看那里是否有新图像...