問題タブ [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.
docker - プライベート Docker レジストリからイメージを削除するには?
latest
プライベート Docker レジストリを実行していますが、リポジトリ以外のすべてのイメージを削除したいと考えています。リポジトリ全体を削除するのではなく、その中のイメージの一部だけを削除したくありません。API ドキュメントはこれを行う方法について言及していませんが、確かに可能ですか?
docker - 個人用の docker レジストリ クラスター ソリューションはありますか?
複数のドッカー レジストリを同期するためのオープン ソース ソリューションを探しています。誰か私にこれについてのヒントを教えてもらえますか?
docker - リモート プライベート Docker レジストリの設定
「リモート プライベート Docker レジストリ」のセットアップに関するヒントが必要です。
Docker-Registry のREADME.mdは、主に同じホスト上で実行されているプライベート レジストリに焦点を当てており、他のマシンがリモートでアクセスする方法を指定していません (または複雑すぎて理解できない可能性があります)。
これまでのところ、これらのスレッドを見つけました:
Docker: 別のサーバーからのプライベート レジストリからのプルに関する問題 (まだオープン スレッドであり、解決策は提供されていません。Githubでさらに議論すると、プロキシに関するヒントが得られますが、それはどのように機能しますか?)
リモートのプライベート レジストリを作成します (探しているものに最も近いかもしれませんが、他のマシンからレジストリにアクセスするにはどのコマンドが必要ですか?)
独自のレジストリを使用する方法(繰り返しますが、これは同じホストでレジストリを実行することに焦点を当てています。他のマシンがアクセスできるようにポート 443 または 80 で実行することについて言及しましたが、詳細が必要です!)
手がかりが不足していますが、ご意見をいただければ幸いです。
docker - Docker レジストリをファイル システムに保存する方法
nginx サーバーの背後にプライベート レジストリをセットアップしたいと考えています。そのために、基本認証を使用して nginx を構成し、次のような docker コンテナーを開始しました。
そうすることで、レジストリにログインし、イメージをプッシュ/プルできます...しかし、コンテナーを停止して再度開始すると、すべてが失われます。レジストリが保存されることを期待して/home/example/registry
いましたが、そうではありません。誰かが私が逃したものを教えてもらえますか?
docker - プライベート docker-registry へのリモート アクセスを取得するには?
https://github.com/docker/docker-registryから取得したイメージを使用して、プライベート docker レジストリをセットアップしようとしています 。
実行するだけで:
docker run -p 5000:5000 registry
このリポジトリとの間でプル/プッシュできるのは localhost からのみですが、(同じ LAN 上のプライベート アドレスを使用して) 別のマシンからアクセスしようとすると、次のエラー メッセージが表示されて失敗します。
私を夢中にさせているのは、以下を使用して正常にアクセスできることです。
curl 10.0.0.26:5000
および/またはcurl 10.0.0.26:5000/v1/search
また、どこにどのように--insecure-registry
フラグを渡す必要があるのか わかりません。
docker - Docker でホストされているプライベート レジストリの使用
docker コンテナーで独自の docker-registry をホストしています。基本認証を追加するために、別のコンテナーで実行されている nginx が前面にあります。_ping ルートを確認すると、nginx が適切にルーティングされていることがわかります。docker login
boot2docker (Mac OSX 上) から呼び出すと、次のエラーが発生します。
FATA [0003] デーモンからのエラー応答: 無効なレジストリエンドポイントです権限。このプライベート レジストリが未知の CA 証明書を使用する HTTP または HTTPS のみをサポートする場合は
--insecure-registry www.example.com:8080
、デーモンの引数に追加してください。HTTPS の場合、レジストリの CA 証明書にアクセスできる場合、フラグは必要ありません。CA 証明書を /etc/docker/certs.d/www.example.com:8080/ca.crt に配置するだけです。
これは奇妙なことです - それは有効な CA SSL 証明書だからです。--insecure-registry
次の手順に従って EXTRA-ARGS を追加しようとしました: https://github.com/boot2docker/boot2docker#insecure-registryしかし、最初は「プロファイル」ファイルが存在しません。作成して追加すると
改善が見られません。私は例を分離したかったのでdocker login
、ubuntu VM (boot2docker ではありません) から試しました。今、私は別のエラーが発生します:
docker レジストリは、パブリック ハブから直接実行されます。
(nginx は 8080 から 5000 にルーティングすることに注意してください)。これをデバッグするのに役立つヘルプやリソースは大歓迎です。
アップデート
この問題を包括的に解決するのに役立つガイドを探していました。具体的には:
- 非公開レジストリを作成する
- 基本認証でレジストリを保護する
- boot2docker のレジストリを使用する
レジストリを作成し、ローカルでテストしましたが、動作します。基本認証を追加するnginxでレジストリを保護しました。
問題は、実際には次の 2 種類のクライアントのレジストリを使用することです。
1) 非 boot2docker クライアント。以下の回答の1つがこれに役立ちました。/etc/default/docker のオプションに --insecure-registry フラグを追加したところ、リモートの Docker レジストリと通信できるようになりました。ただし、docker login でエラーが発生するため、これは auth と互換性がありません。
したがって、auth を使用する場合は、HTTPS を使用する必要があります。このサーバーは既に HTTPS 経由でサービスを提供していますが、--insecure-registry を設定すると機能しません。証明書の信頼の問題があるようですが、boot2docker 以外で解決できると確信していますが..
2) boot2docker クライアントの場合、 --insecure-registry を機能させたり、証明書を信頼したりできませんか?
更新 2
このスタック交換の質問に続いて、ca を ubuntu VM に追加することができ、boot2docker 以外のクライアントから使用できるようになりました。ただし、まだ多くの奇妙な動作があります。
現在のユーザーは docker グループのメンバーですが (sudo を使用する必要はありません)、sudo を使用する必要があります。ログインまたはプライベート レジストリからプルしようとすると、次のエラーが発生します。
また、プライベート レジストリから取得したコンテナーを初めて実行するときは、コンテナーの名前ではなく、イメージ ID でコンテナーを指定する必要があります。