我想使用伙伴管道将新镜像推送到 DockerHub。当推送新镜像时,Google 容器优化操作系统应该拉取新镜像。我正在使用 Google 计算机引擎在 Google 容器优化操作系统上托管 docker-compose。 我怎样才能做到这一点?
最佳答案
假设您在 docker-compose 中使用“:latest”标签,则运行此命令时将始终提取最新版本的镜像:
docker-compose down && docker-compose build --pull && docker-compose up
(请注意,在拉取容器镜像时,升级可能会导致非常轻微的停机)
这可以与 Docker Hub 的 webhook 支持结合起来,以便在推送新镜像时运行此命令。请参阅https://docs.docker.com/docker-hub/webhooks/
您需要一些端点来接收来自 webhook 的 POST 调用并执行命令,例如:https://github.com/adnanh/webhook
它可以配置为 HTTP 端点,以便在推送新镜像时从 Docker Hub 接收 Webhook,以运行上面的命令。出于安全原因,我建议使用 HTTPS 终端节点和传入 Webhook 的 IP 白名单,仅允许来自 Amazon ELB IP 的流量(因为 DockerHub 使用的就是这个)。
另外,您可能需要验证回调 URL 是否来自 https://registry.hub.docker.com/ .
不幸的是,DockerHub 尚不支持使用 key 来验证调用者:https://github.com/docker/roadmap/issues/51
关于google-cloud-platform - 如何更新Google容器优化操作系统中的容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65000843/