自动拉取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 以查看那里是否有新图像...