プライベートレジストリで画像を管理する方法が見つかりません。私はIDを知っているので、画像をプッシュまたはプルできますが、プッシュされた画像のリストを取得する方法は?
たとえば、組織のプライベートレジストリの下にある利用可能な画像を見たい人を考えてみましょう。彼女はどうすればいいですか?
間違っていない限り、index.docker.ioがパブリックレジストリで行うようなレジストリコンテンツを発見するためのAPIやWeb UIを見つけることができません。
これを管理するオープンソースプロジェクトはありますか?
ありがとう。
ありがとうトーマス!
検索APIの使用を許可するには、環境変数SEARCH_BACKENDの値を次のように指定して、コンテナーを開始する必要があります。
docker run -d -e SEARCH_BACKEND=sqlalchemy -p 5000:5000 --name registry samalba/docker-registry
次に、このクエリの結果があります:
GET http://registry_Host:5000/v1/search?q=base
Result :
{
"num_results": 1,
"query": "base",
"results": [{"description": "", "name": "test/base-img"}]
}
すべての画像をリストするには、これを行うことができます:
GET http://registry_Host:5000/v1/search
Result :
{
"num_results": 2,
"query": "",
"results": [
{"description": "", "name": "test/base-img"},
{"description": "", "name": "test/base-test"}]
}
そして、画像の利用可能なバージョンを知るには:
GET http://localhost:5000/v1/repositories/**test/base-img**/tags
Result :
{
"0.1": "04e073e1efd31f50011dcde9b9f4d3148ecc4da94c0b7ba9abfadef5a8522d13",
"0.2": "04e073e1efd31f50011dcde9b9f4d3148ecc4da94c0b7ba9abfadef5a8522d13",
"0.3": "04e073e1efd31f50011dcde9b9f4d3148ecc4da94c0b7ba9abfadef5a8522d13"
}
これを管理するオープンソースプロジェクトはありますか?
1対多のプライベートレジストリの管理を提供するコンテナ化されたWebアプリケーションがあります。その名前はDocker Registry UIであり、FOSSです。
ソースはGithubにあります で、次のようにコンテナーで実行できます。
docker run -p 8080:8080 -v my_data_dir:/var/lib/h2/ atcol/docker-registry-ui
免責事項:ウェブアプリは自分で見つけられなかったので書きました。私はこれがあなたの質問に答えると信じています(引用されているように)。
docker-registry-frontend を書いていますが、これはgithubで見つけることができます。プライベートレジストリを参照し、DockerレジストリAPI v1を介して利用可能なほぼすべての操作を実行できます。さらに、単独でdockerコンテナーとして実行できます。
以下に、いくつかのスクリーンショットを含む基本機能のリストを示します。 https://github.com/kwk/docker-registry-frontend/wiki/Features 。これらの機能に加えて、SSL暗号化とKerberos認証のサポートがあります。
プライベートレジストリのフロントエンド をご紹介します。githubまたはdockerhubから試してみてください。また、そこにインターフェイスのスクリーンショットを見つけることができます。
まとめると:
[。
-アプリは、次のようなレジストリの情報を解析、保存、表示できます。
-画像レイヤー情報:
- 名札
-画像サイズとプッシュ数
-日付のアップロードとプッシュ
-イメージ作成コマンド履歴
-複数のレジストリがある場合に複数のリポジトリを設定し、それらを1か所で観察することができます。
-統計をきれいに表示し、日付に関するタグのアップロード数と画像サイズの曲線を描きます
更新2017-02-15
これまでのところも追加されました:
私の知る限り、DockerレジストリにはREST APIがあり、Docker自体に非常によく似ています。ドキュメントは http://docs.docker.io/reference/api/registry_api / 。しかし、一見しただけでは、すべての画像を一覧表示する方法はありません。
公式インデックス用のREST APIもあります( http://docs.docker.io/reference/api/docker-io_api/ の情報)。
DockerレジストリAPIをテストしましたが、説明はそれほどわかりません。特定のリポジトリのすべてのイメージを照会できます。私の場合、私のリポジトリは「thomas/busybox」と呼ばれます。私はそこにあるすべての画像を呼び出すことができます:
https://my-private-registry.com/v1/repositories/thomas/busybox/images
Result:
[
{
"id": "2d8e5b282c81244037eb15b2068e1c46319c1a42b80493acb128da24b2090739"
},
{
"id": "6c991eb934609424f761d3d0a7c79f4f72b76db286aa02e617659ac116aa7758"
},
{
"id": "9f4e93171ec525221fa9013d0e21f8690cef68590664eb5249e0b324c5faf31a"
},
{
"id": "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158"
}
]
これで、リポジトリに4つのイメージがあり、すべてのイメージを照会できることがわかりました。最初の画像のクエリは次のようになります。
https://my-private-registry.com/v1/images/2d8e5b282c81244037eb15b2068e1c46319c1a42b80493acb128da24b2090739/json
Result:
{
"id": "2d8e5b282c81244037eb15b2068e1c46319c1a42b80493acb128da24b2090739",
"parent": "9f4e93171ec525221fa9013d0e21f8690cef68590664eb5249e0b324c5faf31a",
"created": "2014-04-24T15:59:59.47081913Z",
"container": "d15320d6935ca35bc4198e373f29e730f4c53cce32b3809c2fecec22eb30018b",
"container_config": {
"Hostname": "4964db5b599b",
...
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"HOME=\/",
"PATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin"
],
"Cmd": [
"\/bin\/sh",
"-c",
"#(nop) CMD [\/bin\/sh -c \/bin\/sh]"
],
"Image": "9f4e93171ec525221fa9013d0e21f8690cef68590664eb5249e0b324c5faf31a",
...
"OnBuild": [
]
},
"docker_version": "0.10.0",
"author": "J\u00c3\u00a9r\u00c3\u00b4me Petazzoni <[email protected]>",
"config": {
"Hostname": "4964db5b599b",
"Domainname": "",
"User": "",
"Memory": 0,
...
"Env": [
"HOME=\/",
"PATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin"
],
"Cmd": [
"\/bin\/sh",
"-c",
"\/bin\/sh"
],
"Image": "9f4e93171ec525221fa9013d0e21f8690cef68590664eb5249e0b324c5faf31a",
...
"OnBuild": [
]
},
"architecture": "AMD64",
"os": "linux",
"Size": 0
}
画像を検索することもできますが、結果は表示されません。
https://my-private-registry.com/v1/search?q=thomas
Result:
{"num_results": 0, "query": "thomas", "results": []}
Sonatype Nexus Repository Manager 3.0には Dockerのプライベートレジストリ があります