20

kubernetes クラスターをセットアップしており、イメージの保存にGoogle Container Registryを使用しています。

セットアップの一環として、タグを含むイメージのリモート リポジトリを検索する必要があるツールを構築しています。

私の質問は、 Google Cloud Registry で画像を検索するにはどうすればよいですか?

dockercli を使用して検索を実行しようとしましたが、うまくいきませんでした。

$ docker search eu.gcr.io/project-101
Error response from daemon: Unexpected status code 403

$ gcloud docker search eu.gcr.io/project-101
Error response from daemon: Unexpected status code 403

$ docker login -e not@val.id -u _token -p mytoken https://eu.gcr.io
WARNING: login credentials saved in /Users/drwho/.docker/config.json
Login Succeeded

$ docker search eu.gcr.io/project-101
Error response from daemon: Unexpected status code 403

$ docker search eu.gcr.io/not-known
Error response from daemon: Unexpected status code 404

ご覧のとおり、私はさまざまなアプローチをかなり試しました。最後のオプションは、Google Storage Bucket API を使用してファイル システムを「手動で」検索することです。

4

2 に答える 2

15

1.7.0 までの Docker クライアントは、認証されていない検索のみをサポートします。たとえば、次のように検索するとします。

$ docker search gcr.io/google-containers/kube
NAME                                        DESCRIPTION   STARS     OFFICIAL   AUTOMATED
google-containers/hyperkube                               0                    
google-containers/kube-apiserver                          0                    
google-containers/kube-controller-manager                 0                    
google-containers/kube-scheduler                          0                    
google-containers/kube-ui                                 0                    
google-containers/kube2sky                                0                    
google-containers/kubectl                                 0         

検索を認証し、プライベート リポジトリでも同様に機能する 1.8.0 に PR を提出しました。

gcloud docker今日の 403 (Forbidden) は、Docker クライアントが、またはを介し​​て設定された認証を実際に渡していないためですdocker login

編集:回避策として、エンドポイントを CURL するだけでも悪くありません:

$ curl -u _token:TOKEN "https://gcr.io/v1/search?q=QUERY" | \
    python -mjson.tool

TOKENで生成できますgcloud auth print-access-token

形式のクエリをサポートしています。<project-id>[/image-substring]たとえば、google-containers/ubewould matchgoogle-containers/kube2skyなどです。

于 2015-07-22T14:51:49.833 に答える