0

gcr.io のプライベート レジストリにアクセスするためのシークレットを追加しようと一日中試みています。(Google クラウド レジストリ)

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 にアクセスするのに何か問題がありますか?

4

1 に答える 1

0

あなたのdocker loginコマンドは を使用しhttps://gcr.ioていますが、ログインしhttps://eu.gcr.ioて最初のアプローチを試すとどうなりますか?

于 2016-04-25T16:21:04.773 に答える