問題タブ [docker-registry]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
search - Docker レジストリ 2.0 API v2
ローカルの docker registry:2.0 をプルしてセットアップしました
画像を正常にプッシュしようとしましたが、画像を検索しようとするたびに 404 が表示されます:
また、localhost:5000 を curl しようとすると、404 が表示されます。
docker - haproxy の背後にあるプライベート Docker レジストリ v2 へのログイン
HAProxy を使用して新しい Docker レジストリ (v2) をセットアップしようとしています。Docker レジストリについては、docker ハブのイメージを使用し、docker run -d -p 5000:5000 -v /path/to/registry:/tmp/registry registry:2.0.1
. そして、これは私の HAProxy 構成のサブセットです。
注意すべき重要な点は、レジストリではなく HAProxy を使用して SSL ターミネーションと HTTP 認証を行っていることです。
新しいレジストリにログインしようとすると、問題が発生します。実行docker login https://d.mydomain.com/v2/
してからユーザーroot
とパスワードを入力すると、次のエラー メッセージが表示されます。
Docker クライアント:
Docker デーモン:
だから私は追加しようと--insecure-registry d.mydomain.com
します:
/etc/default/docker
とDOCKER_OPTS= -H unix:///var/run/docker.sock --insecure-registry d.mydomain.com
- docker を手動で起動する引数
docker -d --insecure-registry d.mydomain.com
これらのいずれも、またはオンラインで見つけた他のものも機能しません。毎回、ドッカーを再起動して再度ログインしようとすると、同じエラーメッセージが表示されます。
私が試した他のいくつかのこと:
- ブラウザ
d.mydomain.com
で 404が返される - ブラウザで次の
d.mydomain.com/v2/
結果になります。{}
https://d.mydomain.com/v2/
ログインコマンドをこれらすべてに 置き換えても成功しませんhttp://d.mydomain.com/v2/
d.mydomain.com/v2/
http://d.mydomain.com/
d.mydomain.com/
SSL ターミネーションと HTTP 認証を行う HAProxy を使用したこのセットアップは、レジストリの最初のバージョンと古いバージョンの docker を使用して過去に機能していました。では、Docker レジストリ v2 で何か変更がありましたか? これはまだ機能しますか?変更されていない場合、--insecure-registry
フラグがもう何もしないのはなぜですか?
また、これを機能させるためにしばらく取り組んできたので、試したことをすべて忘れている可能性があります。動作する可能性のあるものがあれば、お知らせください。試してみます。
ありがとう、ジェームズ・ステューイ
編集
この編集は以下の回答に移動されました
search - Docker 1.6 およびレジストリ 2.0
Docker 1.6 と新しいレジストリ 2.0 で検索コマンドを試した人はいますか?
SSL を使用して Nginx の背後にセットアップしましたが、これまでのところ正常に動作しています。push
問題なく写りますpull
。しかし、それらすべてを検索しようとすると、次のコマンドで404
応答が返されます。
レジストリでイメージを検索するために Docker クライアントを使用する正しい方法とその理由を誰かが知っているかどうかを尋ねたかったのです。
API v2.0のドキュメントを見ると、単純に検索機能をサポートしていないのでしょうか? そのような機能を省略するのは少し奇妙に思えます。
少なくとも何かが機能します:)