データ コンテナーを使用すべきではないという一般的なコンセンサスについて、私は混乱しています。達成したい特定のユースケースがあります。
docker nginx コンテナーが必要で、その背後にアプリケーションを含む他のコンテナーが必要です。アプリの最新バージョンを実行するために、プライベート Docker レジストリから準備完了のコンテナーをダウンロードしたいと考えています。アプリケーションは今のところ純粋に静的な html、javascript です。
したがって、私の計画は、ファイルを保持し、いくつかの /webapp フォルダーに名前付きボリュームを指定する docker イメージを作成することです。nginx コンテナはこのボリュームを提供します。「docker コンテナ化」の方法で多数のファイルをリモート システムに移動する方法は他にありません。私は実際に呪われたデータ コンテナーを作成していませんか?
とにかく、アプリコンテナの交換中に何が起こりますか? アプリ コンテナーを停止すると、ボリュームはホストに配置されるため、アクセス可能なままになります。アプリコンテナの新しいバージョンをプルして起動すると。ボリュームが再度作成され、同じ場所に保存されているイメージ ファイルが事前にファイル化され、ホストのコンテンツが置き換えられるため、nginx コンテナーは新しいバージョンのアプリケーションからサーバーに配置されます。nginx コンテナーからまだ存在しないボリュームを参照するとどうなりますか。
名前付きの値は、画像のコンテンツとともに自動的にファイルされないようです。同様に、ここから取得したこの構文が機能しないため、docker ファイルに名前付きボリュームを作成する方法がわかりません
FROM training/webapp
VOLUME webapp:/webapp