Jenkins 机器中的多个 GCR 项目注册表登录

Multiple GCR Project Registry Login in Jenkins Machine

我们在 GCP 上有多个项目的云设置。在我们的 Jenkins 机器中,我可以看到 docker 注册表的多个条目。其中之一是这样的:-

"https://gcr.io/abc-defghi-212121": {
                    "auth": "somethingsomethingsomething=",
                    "email": "not@val.id"

我想为另一个项目做同样的事情:-

"https://gcr.io/jkl-mnopqr-313131": {
                    "auth": "somethingsomethingsomething=",
                    "email": "not@val.id"

因此,如果我 docker 登录到两个注册表,它应该可以工作。我点击了以下链接:- https://cloud.google.com/container-registry/docs/advanced-authentication

这里面有不同的方法,但还是一头雾水。请帮忙。

将 docker 与容器注册表一起使用的最常见身份验证方法是使用 gcloud 作为 Docker 凭据助手。 authentication method 由 运行 执行: $ gcloud auth 配置-docker

这将创建一个 json 文件,~/.docker/config.json,它将 "tell" docker 使用gcloud 当前用户。

但是,我假设在您的情况下是 Jenkins 构建您的映像并将其推送到容器注册表。您需要验证它,我相信它是使用 OAuth plugin 执行的。你可以在 Jenkins 界面中找到它: Jenkins -> 凭据 -> 全局凭据 -> 添加凭据

不过,你也可以参考this documentation where explained how to troubleshoot common Container Registry and Docker issues. Also, make sure that you have the required permission推或拉。