開発者ツール · Docker run から Docker compose コンバーター
docker run と Compose のボリューム: バインド マウント、名前付きボリューム、および :ro
· 仕組み
ドッカー 作成 ボリューム
-v フラグは、コロンの残りに応じて 3 つの異なる意味を持ちます。この投稿では、バインド マウント、名前付きボリューム、匿名ボリューム、およびそれぞれがどのように YAML になるかについて説明します。
データベースは空に戻りました。コンテナは再作成され、-v フラグはディスク上の存続する場所を参照しませんでした。
データベースは空に戻りました。コンテナは再作成され、-v フラグはディスク上の存続する場所を参照しませんでした。証拠: ターゲットのみの -v 値は匿名であり、永続化の警告を受け取ります。使い捨てリテラルを使用してボリュームの永続性を再現します。各ソース オカレンスをサービス ボリュームおよび名前付き宣言と組み合わせます。送信元の分類とパスを送信先のレビュー用に予約します。
ボリューム インシデントでは、別個のボリューム インシデントの境界として、--mount は正しく使用されているがサポートされていないと報告されていることも明らかになりました。証拠: --mount は正しく使用されますが、サポートされていないと報告されます。このボリューム永続性の制約は停止点です。製造動作を含まないサービス ボリュームと名前付き宣言を検査し、ソース分類とパスのホスト チェックを文書化します。
-v の 3 つの意味 - 絶対パス (バインド マウント)、名前 (名前付きボリューム)、またはコロンの前に何もない (匿名ボリューム)
-v の 3 つの意味 - 絶対パス (バインド マウント)、名前 (名前付きボリューム)、またはコロンの前に何もない (匿名ボリューム)。証拠: 単純な名前、ホスト パス、相対パス、変数、および Windows ドライブは別々に分類されます。ボリューム永続性トークンをサービス ボリュームと名前付き宣言にトレースします。順序付けされた値を最終値フィールドから分離します。ソースの分類とパスはコレクションの外にあります。
関連するボリューム メカニズムの境界は、別個のボリュームの文法境界は、pgdata と読み取り専用の init バインドの両方がリテラルのボリューム文字列のままであることです。証拠: pgdata と読み取り専用の init バインドはどちらもリテラルのボリューム文字列のままです。このボリューム永続性ファクトを使用して、サービス ボリュームおよび名前付き宣言内の 1 つのメンバーまたはスカラーを予測します。ソースの分類とパスについて決定する前に、警告を確認してください。
名前付きボリュームには宣言が必要です。トップレベルのボリューム: Compose に必要なキー、およびそれが見つからない場合の動作
名前付きボリュームには宣言が必要です。これは、Compose に必要なトップレベルのボリューム: キーと、それが欠落している場合の動作です。証拠: 名前付きソースは、トップレベルのボリュームで null 宣言を取得します。ボリュームの永続化のシリアル化をそのモデルから判断します。サービス ボリュームおよび名前付き宣言での引用は型を保護しますが、ソースの分類とパスの運用上の証拠は提供しません。
2 番目のボリュームのシリアル化の観察は、別個のボリュームの出力境界は、将来の Compose ディレクトリを解決せずに相対文字列が保存されることです。証拠: 相対文字列は、将来の Compose ディレクトリを解決せずに保存されます。このボリューム永続性出力は、設定を使用できないコンテキストから分離します。サービス ボリュームと名前付き宣言をレビュー可能な状態に保ち、ソースの分類とパスを個別にチェックします。
コンバーターは -v の短い構文を保持し、 --mount を手動で変換する必要があることを警告します
2 番目のコロンの後のオプション — ro、z、Z、および --mount の key=value 形式が同じことを示します。証拠: --mount は正しく使用されますが、サポートされていないと報告されます。コンバーターは -v の短い構文を保持し、--mount を手動で変換する必要があることを警告します。推測するのではなく、ボリューム永続性の例外で停止してください。サービス ボリュームおよび名前付き宣言に近い追加には、ソースの分類とパスに関連付けられたデプロイメント固有の理由が必要です。
もう 1 つのボリューム例外制約は、このボリューム セクションについては、このボリューム セクションのコマンドと警告のオリジナルを、この候補ファイルの横に保持することです。証拠: リポジトリは、より広範な実行時または歴史的な証拠を提供しません。警告の横にある元のボリューム永続化コマンドをそのままにしておきます。この比較により、サービス ボリュームと名前付き宣言にどのようなものが含まれているか、またどのソース分類とパスの決定が手動のままであるかがわかります。
有効な例: -v pgdata:/var/lib/postgresql/data および -v /srv/pg/init:/docker-entrypoint-initdb.d:ro — どちらも Compose YAML としてマウントします
有効な例: -v pgdata:/var/lib/postgresql/data および -v /srv/pg/init:/docker-entrypoint-initdb.d:ro — どちらも Compose YAML としてマウントされます。合成名からボリューム永続性の例を構築します。本番ソースの分類とパスの詳細を公開することなく、すべてのサービス ボリュームと名前付き宣言項目を追跡可能にします。
同じボリュームの例のサンプルは、別個のボリュームの例の境界は、ボリューム リストによって永続性の前提がレビュー可能になることを示しています。証拠: ボリューム リストにより、永続性の仮定がレビュー可能になります。ペア ボリュームの永続性ファクトは、サービス ボリュームと名前付き宣言に表示される必要があります。その行を記録し、ソースの分類とパスについての思い込みを避けてください。
相対パスの意味は、最終的な Compose ファイルの場所によって異なります。コンバーターでは解決されません
相対パス — Compose ではファイルに対する相対パスが許可されますが、docker run では許可されません。そのため、./ は変換後にのみ表示されます。証拠: 相対文字列は、将来の Compose ディレクトリを解決せずに保存されます。相対パスの意味は、最終的な Compose ファイルの場所によって異なります。コンバーターでは解決されません。ボリューム永続性の結果を 1 つの監視可能なサービス ボリュームと名前付き宣言の違いに変換します。 Docker は、後のソース分類とパスの判定を所有します。
ボリューム結果の実装では、このボリューム セクションについては、このボリューム セクションのオリジナルを保持することも示されており、このボリューム セクションのコマンドと警告が表示されます。この候補ファイルの横には、ボリューム 結果のファクトがこのボリューム セクションにブラウザが貢献した内容が定義されています。セクション ドッカーは依然としてボリューム結果を所有しています。この実行時判定は、このボリューム セクションのオペレータがまだボリュームを所有しています。このボリューム セクションのオペレータはまだボリュームを所有しています。このボリューム セクションのリポジトリはまだボリュームを必要としています。結果のセキュリティ ポリシーは削除されています。このボリューム セクションについては、これらの責任は別個に保たれます。このボリュームのセクションでは、生成されたサービスについて説明されています。分割ボリューム永続性の責任: 変換はサービス ボリュームと名前付き宣言を書き込み、リポジトリはシークレットを削除し、オペレータはソースの分類とパスを検証します。
これでカバーされないもの — 独自のキーを持つボリューム ドライバー、NFS バックアップ ボリューム、および tmpfs マウント
これでカバーされないもの — 独自のキーを持つボリューム ドライバー、NFS バックアップ ボリューム、および tmpfs マウント。証拠: --tmpfs は個別にマップしますが、ボリュームドライバーは手動構成が必要です。ボリューム永続性の範囲を、ここに示すサービス ボリュームと名前付き宣言ブランチに制限します。隣接するフォームとデフォルトは、ソースの分類とパスの質問に答えることができません。
別のボリューム制限境界に続くもう 1 つのボリューム スコープ制限は、単純名、ホスト パス、相対パス、変数、および Windows ドライブが別々に分類されることです。このボリューム永続境界を除外として扱います。ソース分類とパスに関する推測よりも、正確なサービス ボリュームと名前付き宣言を優先します。
要点: 3 つのうちどれを持っているかを把握してください。コンバーターはボリューム リストをレイアウトするので、それぞれを確認できます。
要点: 3 つのうちのどれを持っているかを知ってください。コンバーターはボリューム リストをレイアウトするので、それぞれを確認できます。ソース オプション、モデル フィールド、サービス ボリューム、名前付き宣言行および警告としてのボリュームの永続性を監査します。ソースの分類とパスを確認する前に、シークレットを削除してください。
最後に、ボリューム テイクアウェイ ソースは、別個のボリュームの決定境界は、名前付きソースがトップレベル ボリュームで null 宣言を取得することであることを確認します。ボリュームの永続性を狭く絞り込む: サービス ボリュームと名前付き宣言が候補です。ソースの分類、パス、およびシェルの同等性は保証されません。