良い一日!
docker レジストリに関する多くの情報を調べましたが、まだいくつか質問があります...インデックスとレジストリに関するいくつかのことを理解するのを手伝ってください。
プライベート リポジトリ用の docker-registry をインストールしました。そして、私はスタンドアロンモードtrueで作業しました。私が理解しているように、docker レジストリはユーザーを認証できません。インデックスにアクセス許可と認証を要求します。そのため、スタンドアロン モードを無効にしたため、docker-registry は index.docker.io で認証する必要がありますが、機能しません。レジストリを使用すると、必要なイメージをプッシュおよびプルできます。問題は、なぜ docker-registry が index.docker.io によって私を認証しようとしないのかということです。
docker-registry が index.docker.io を介して私を認証する場合、認証パラメーターはどこに保存されますか? つまり、ユーザー vozerov に private.repo.domain:5000/vozerov リポジトリにのみプッシュする権限を与えたい場合です。
Docker はインデックスを検索します。したがって、プライベート リポジトリでイメージを検索する場合は、新しいプライベート リポジトリがあることを index.docker.io に通知する必要があります。それは本当ですか、それとも私は何か間違ったことを言いますか?
github で docker-index プロジェクトを見つけました - https://github.com/ekristen/docker-index。index.docker.io の代替です。インストールしてログインすると、docker search コマンドはプライベート インデックスまたは index.docker.io を検索しますか?
更新日:
今夜は docker-registry で多くの作業を行ったので、少し混乱しています。
スタンドアロン モードが true の場合、disable_token_auth はどのバリアントでも使用されません。だから私たちはできる:
1.1認証なしでこのレポを使用します(プルおよびプッシュ権限を誰にでも)。
1.2 nginx および docker login my.registry.com で基本認証を使用して、基本認証情報を持つすべてのユーザーがプッシュおよびプルできるようにします。したがって、このモードでは権限がありません。
スタンドアロン モードが false の場合、docker-registry は index.docker.io と通信する必要がありますが、そうではありません。2 つのバリアント:
2.1. disable_auth_token が true の場合 - 405 エラー (メソッドは許可されていません) が表示されますが、これは、誰でもイメージのプッシュまたはプルを許可することを意味しますか?
2.2. disable_auth_token が false の場合 - 405 エラーが発生します...
また、2.1 および 2.2 の docker login my.registry.com が機能しない場合、404 エラーが表示されます...私の設定ミスでしょうか?