22

ローカルの docker registry:2.0 をプルしてセットアップしました

画像を正常にプッシュしようとしましたが、画像を検索しようとするたびに 404 が表示されます:

root@ip-10-232-0-153:~# curl -v -X GET http://localhost:5000/v2/search
* Hostname was NOT found in DNS cache
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 5000 (#0)
> GET /v2/search HTTP/1.1
> User-Agent: curl/7.35.0
> Host: localhost:5000
> Accept: */*
>
< HTTP/1.1 404 Not Found
< Content-Type: text/plain; charset=utf-8
< Docker-Distribution-Api-Version: registry/2.0
< Date: Fri, 08 May 2015 00:00:45 GMT
< Content-Length: 19
<
404 page not found
* Connection #0 to host localhost left intact

また、localhost:5000 を curl しようとすると、404 が表示されます。

404 page not found
4

9 に答える 9

33

更新(2016 年 4 月 14 日): まだ配布ロードマップにはありませんが、検索に関する特定の問題があります

更新(2015 年 11 月 12 日): API エンドポイントはまだ存在せず、Docker レジストリのロードマップにも含まれていません。

ここでの問題は、この質問と回答の時点で、新しい v2 Docker レジストリがその特定のエンドポイントをまだサポートしていないことです。ルート エンドポイントのソース自体を確認すると、ほとんどの API エンドポイントにはアップロードやタグ付けなどの単純な操作が含まれていることがわかりますが、検索エンドポイントはまだ実装されていません。ここで、v2 レジストリは v1 レジストリとはまったく異なるプロジェクトであることに注意してください。まったく異なる言語で書かれています (v1 は Python プロジェクトでしたが、v2 は Go を使用しており、これは他の Docker プロジェクトとより一致しています)。ここでのレジストリ間の二分法を理解するには、かなりの時間と真剣な読書が必要でした。一見の価値ありv2 レジストリに関するこの特定の Github の問題で、v2 レジストリの状態に関する最近の議論と、彼らがどこでそれを取っているかについてのいくつかの議論を深く掘り下げます。

そのため、v2 レジストリにはまだ検索エンドポイントがありません。このドキュメントのタスク番号 8 で説明されているように、タグまたはイメージ名自体でイメージを一覧表示できます。

于 2015-05-08T04:33:19.493 に答える
3

v2/_catalogWindows を使用している場合は、基本的な http 認証を使用して Windowsからクエリを実行する Powershell スクリプトを次に示します。

https://gist.github.com/so0k/b59382ea7fd959cf7040

参考までに、これを使用するには、docker pull distribution/registry:master代わりにdocker pull registry:2. registry:2イメージ バージョンは現在、2.0.1カタログ エンドポイントに付属していません。

于 2015-07-29T09:11:51.683 に答える
0
@Xotl
curl -X GET registry.com:5000/v2/lashou/centos/tags/list
{"errors":[{"code":"NAME_UNKNOWN","message":"repository name not known to registry","detail":{"name":"lashou/centos"}}]}
于 2015-10-14T04:22:34.317 に答える
-1

正しい。

これは、画像のリストを取得するために機能する実装の単なる例です。はい、これは一般的なレジストリ 2.0 スタートアップであると想定されています。例: $ sudo docker run --name=myregistry -d -p port:port myregistry:1.0.

基本的にポイントは、各コンテナーにログ ファイル ...some-path/containers... ID-json.log があることです。そのファイルには、実行中のレジストリにプッシュされたイメージに関する情報が保存されます。したがって、画像リストを推定するために使用できます。生のままであるほど、何もないよりはましです。より大きな検索/カタログの問題に対する解決策ではなく、画像リストを取得する方法です。「公式」の修正を待っている間に問題を解決するための、非常にカスタマイズされた回避策です。

于 2015-08-05T15:08:32.020 に答える