0

なぜそれが起こるのか知っていると思います.dockerレジストリコンテナはレポにプッシュされたものの記録を失います.バックエンドに対して直接検索が行われることを望みます(私の場合はs3バケットを使用します). 私はクラウド テンプレートを持っているので、非常に頻繁にスタックをゼロから開始し、レジストリ コンテナーを再度ダウンロードし、すべての構成をセットアップします。もちろん、レポにプッシュしたイメージのすべてのデータを失います。docker レジストリ コンテナーを実行している私の ec2 インスタンスは、何らかの理由で更新またはダウンする可能性があり、Auto Scaling グループによって新しいインスタンスがスピンアップされます。

したがって、私の質問は基本的に、レジストリが再起動されたか、新しいレジストリがスピンアップされたかにかかわらず、常にレジストリに接続し、検索を実行するときに常に s3 リポジトリ内のすべてのイメージを表示するための最良の利用可能な方法は何ですか? EC2 インスタンスからのボリュームのマウントは機能しません。これは、ある時点で EC2 インスタンスが Docker レジストリ コンテナーと共にダウンする可能性が非常に高いためです。

4

1 に答える 1

1

sqlalchemy 検索バックエンドを使用していると仮定しています。検索バックエンドはデフォルトでデータをローカルに保存するため、プッシュした画像に関するデータを失っている可能性があると思います。このシナリオとそれを回避する方法は、docker レジストリ フォーラムhttps://github.com/docker/docker-registry/issues/475のそのページから議論されています。

デフォルトでは、検索バックエンドは sqlite データベースをローカルで使用します。接続文字列を、自動スケーリング グループの外部または VPC の範囲内のデータベース (使用している場合) に変更することで構成できます。これはあなたが見ている問題でしょうか?

議論は続けて、外部データベースをどこかに、場合によっては EC2 に配置することを提案し、空のデータベースはレジストリによって再インデックス化されるため、それがダウンして空の状態に戻っても心配する必要はないということです。

于 2015-03-12T22:54:29.643 に答える