我整天都在尝试添加一个秘密来访问 gcr.io 上的私人注册表。(谷歌云注册表)
gcr 的文档有一些关于 json 密钥文件的信息。
$ docker login -e 1234@5678.com -u _json_key -p "$(cat keyfile.json)" https://eu.gcr.io
这会在 ~/.docker/config.json 中创建一个条目。如果我在本地尝试从注册表中提取它可以工作。
我在 openshift 中尝试了以下方法来添加秘密
oc secrets new gcr .dockerconfigjson="~/.docker/config.json"
oc secrets add serviceaccount/default secrets/gcr --for=pull
oc secrets add serviceaccount/builder secrets/gcr
和
oc secrets new-dockercfg gcr --docker-server=eu.gcr.io --docker-username=_json_key --docker-password="$(cat ~/Downloads/key.json)" --docker-email=web@gcr.com
oc secrets add serviceaccount/default secrets/gcr --for=pull
oc secrets add serviceaccount/builder secrets/gcr
这总是导致以下结果
$ oc new-app eu.gcr.io/webshops/shop-1
error: can't look up Docker image "eu.gcr.io/webshops/shop-1": Internal error occurred: error retrieving repository: server returned 403
error: no match for "eu.gcr.io/webshops/shop-1"
从openshift访问eu.gcr.io我做错了吗?