2

Docker 1.6 と新しいレジストリ 2.0 で検索コマンドを試した人はいますか?

SSL を使用して Nginx の背後にセットアップしましたが、これまでのところ正常に動作しています。push問題なく写りますpull。しかし、それらすべてを検索しようとすると、次のコマンドで404応答が返されます。

curl -k -s -X GET https://username:password@my-docker-registry.com/v1/search
404 page not found

curl -k -s -X GET https://username:password@my-docker-registry.com/v2/search
404 page not found

root@ip-10-232-0-191:~# docker search username:password@my-docker-registry.com/hello-world
FATA[0000] Invalid repository name (admin:admin), only [a-z0-9-_.] are allowed

root@ip-10-232-0-191:~# docker search my-docker-registry.com/hello-world
FATA[0000] Error response from daemon: Unexpected status code 404

レジストリでイメージを検索するために Docker クライアントを使用する正しい方法とその理由を誰かが知っているかどうかを尋ねたかったのです。

API v2.0のドキュメントを見ると、単純に検索機能をサポートしていないのでしょうか? そのような機能を省略するのは少し奇妙に思えます。

少なくとも何かが機能します:)

root@ip-10-232-0-191:~# curl -k -s -X GET https://username:password@my-docker-registry.com/v2/hello-world/tags/list
{"name":"hello-world","tags":["latest"]}
4

3 に答える 3

2

現在まで - レジストリ v2.0.1 から検索 API が欠落しており、この問題はここで議論されています。検索 API は v2.1 に搭載される予定だと思います。

編集:/v2/catalog endpointで利用可能ですdistribution/registry:master

新しいレジストリ API の前:

使用しREGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORYている場合は、そのディレクトリの内容をリストできます

user@host:~#  tree $REGISTRY_FS_ROOTDIR/docker/registry/v2/repositories -L 2
***/docker/registry/v2/repositories
└── repository1
    └── image1

これは、これを行うために呼び出すことができる簡単な Web UI を作成する場合や、リポジトリを保存しているホストに ssh アクセスできる場合に役立ちます。

ssh -T user@host -p <port> tree $REGISTRY_FS_ROOTDIR/docker/registry/ -L 2

v1 と v2 の両方のレジストリを nginx リバース プロキシの背後にデプロイする作成例を見てください。

于 2015-06-21T01:05:55.703 に答える
1

https://github.com/docker/distributionから入手できる最新バージョンの Docker レジストリは、カタログ API をサポートしています。(v2/_catalog)。これにより、リポジトリを検索する機能が可能になります。

興味がある場合は、新しい Docker Registry v2 ディストリビューションの検索機能を簡単に使用できるように作成した docker image registry CLI を試すことができます: ( https://github.com/vivekjuneja/docker_registry_cli )

于 2015-07-28T11:32:08.743 に答える