日本語

開発者ツール · Docker run から Docker compose コンバーター

Compose ファイルのバージョン キーは廃止されました: 置き換えられたもの

· 背景

ドッカー 作成 構成

構成ファイルのバージョン キーを示す抽象図は廃止されました: 何が置き換えられたか
オリジナル ToolAcre ベクトル イラスト

何年もの間、すべての Compose ファイルはバージョン '3' で始まりました。この投稿では、選択に使用される番号、Compose 仕様でその番号が削除された理由、および所有しているファイルの処理方法について説明します。

すべてのコマンドに対する新しい警告 - 何年も変更されずに機能していたファイルに対する「バージョンは古い」

すべてのコマンドに新しい警告が表示されます。何年も変更されずに機能していたファイルには「バージョンが古い」という警告が表示されます。証拠: ライターはサービスから開始し、テストでトップレベルのバージョン キーを拒否します。使い捨てリテラルを使用してバージョン キーの削除を再現します。各ソースのオカレンスをバージョンのないサービス出力と組み合わせます。移行先のレビューのためにレガシー互換性を確保します。

構成インシデントは、別の構成インシデントの境界として、サポートされる結果がバージョンのない 1 つの制限付きドキュメントであることも明らかにしています。証拠: サポートされている結果は、バージョンのない制限された 1 つのドキュメントです。このバージョン キー削除の制約は停止点です。製造動作を行わずにバージョンレス サービスの出力を検査し、レガシー互換性のホスト チェックを文書化します。

このリポジトリは、過去のエンジンとフォーマットの互換性テーブルではなく、バージョンの省略を検証します。

バージョン: 選択済み — ファイル形式 1、2.x、または 3.x。それぞれが最小の Docker エンジンと許可されたキーのセットに関連付けられています。証拠: このリポジトリにはエンジンとフォーマットの互換性テーブルは存在しません。このリポジトリは、過去のエンジンとフォーマットの互換性テーブルではなく、バージョンの省略を検証します。バージョンキー削除トークンをバージョンレスサービス出力にトレースします。順序付けされた値を最終値フィールドから分離します。レガシー互換性はコレクションの外にあります。

関連する構成メカニズムの境界は、この構成セクションについては、この構成セクションのコマンドと警告のオリジナルを、この候補ファイルの横に保持することです。証拠: リポジトリは、より広範な実行時または歴史的な証拠を提供しません。このバージョン キー削除ファクトを使用して、バージョンのないサービス出力内の 1 つのメンバーまたはスカラーを予測します。従来の互換性について決定する前に、警告を確認してください。

このコードでは、以前の形式の分岐が分岐した理由が確立されていないため、現在生成されているキーを文書化しています。

2 と 3 が分岐した理由 — 3 の Swarm 指向キー、2 のリソース制限、およびそれによる混乱。証拠: 過去の相違はコンバーターの実装によって説明されません。このコードでは、以前の形式ブランチが分岐した理由が確立されていないため、現在生成されているキーを文書化しています。モデルからバージョン キーを削除してシリアル化を判断します。バージョンレス サービスの出力でクォートすると型は保護されますが、レガシー互換性の運用上の証拠は得られません。

2 番目の構成シリアル化の観察は、この構成セクションに対して、この構成セクションの元のコマンドと、この構成セクションの横にある警告が保持されます。この候補ファイルは、構成シリアル化の結果が、この構成セクションの構成からこの構成セクションに表される構成を分離するものです。イメージ メタデータは、構成シリアル化変換の範囲外です。このバージョン キー削除出力は、設定を使用できないコンテキストから分離します。バージョンレス サービスの出力をレビュー可能に保ち、従来の互換性を個別にチェックします。

仕様の答え — 1 つのスキーマ、バージョン フィールドなし、代わりに Compose 実装によって機能がゲートされる

仕様の答えは、スキーマが 1 つで、バージョン フィールドがなく、代わりに Compose 実装によってゲートされる機能です。推測するのではなく、バージョン キーの削除例外で停止してください。バージョンレス サービス出力に近い追加には、レガシー互換性に関連する展開固有の理由が必要です。

もう 1 つの構成例外制約は、レガシー Python および Swarm セマンティクスにはバージョン付き参照が必要であるという別の構成例外境界です。証拠: 従来の Python と Swarm のセマンティクスにはバージョン付きの参照が必要です。元のバージョン キーの削除コマンドは警告の横に置いてください。この比較により、バージョンレス サービスの出力にどのような内容が含まれているか、またどの従来の互換性の決定が手動のままであるかが示されます。

古いファイルをどうするか — キーの削除、v2 のみまたは v3 のみのキーの確認、docker compose config の実行

古いファイルをどうするか — キーの削除、v2 のみまたは v3 のみのキーの確認、docker compose config の実行。証拠: バージョンを削除しても、残っているすべてのレガシー キーを検証することはできません。合成名からバージョン キーを削除する例を構築します。本番環境のレガシー互換性の詳細を公開することなく、すべてのバージョンレス サービスの出力項目を追跡可能にします。

同じ構成例のサンプルは、別の構成例の境界は、普遍的な互換性を主張せずに、新しい出力がサービスに適合することを示しています。証拠: 新しい出力は、ユニバーサル互換性を主張せずにサービスに適合します。ペアになったバージョン キーの削除ファクトは、バージョンレス サービスの出力に表示されるはずです。その行を記録し、レガシー互換性についての思い込みを避けてください。

有効な例: 残りのすべてのキーを確認した後、バージョン行のみを削除します

作業例: バージョンの最新化: '2.1' ファイル — 3 つの編集と前後の差分。証拠: 最新化の例では、レビュー後にそのマーカーのみを削除する必要があります。実用的な例: 残りのすべてのキーを確認した後、バージョン行のみを削除します。バージョン キーの削除の結果を、1 つの観察可能なバージョンレス サービス出力の違いに変換します。 Docker は、その後のレガシー互換性の判定を所有します。

構成結果の実装は、この構成セクションについては、この構成セクションのオリジナルを保持するコマンドと、この構成セクションの候補ファイルの横にある警告も表示します。その構成結果のファクトは、ブラウザがこの構成セクションに貢献した内容を定義します。ドッカーは、この構成セクションに対して構成結果のランタイム判定をまだ所有しています。この構成セクションのオペレーターは、依然として構成結果のセキュリティ ポリシーを所有しています。この構成セクションのリポジトリは、構成結果の秘密を削除する必要があります。この構成セクションについては、これらの責任が別個に保たれます。この構成セクションでは、生成されたサービスを説明します。バージョン キーの削除の責任を分割します。変換はバージョンレス サービス出力を書き込み、リポジトリはシークレットを削除し、オペレータはレガシー互換性を検証します。

従来の Python ツールの要件と Swarm デプロイ動作は、このコンバーターからは推測されません

これでカバーされないもの — 依然としてキーを必要とする古い Python docker-compose v1、および Swarm 固有のデプロイ設定。証拠: 従来の Python と Swarm のセマンティクスにはバージョン付きの参照が必要です。従来の Python ツールの要件と Swarm デプロイ動作は、このコンバーターからは推測されません。バージョン キーの削除範囲を、ここに示すバージョンのないサービス出力ブランチに制限します。隣接するフォームとデフォルトでは、従来の互換性に関する質問に答えることができません。

この構成セクションの元のコマンドとこの候補ファイルの横にある警告を保持することで、構成範囲の制限が 1 つ追加されます。このバージョン キーの削除境界を除外として扱います。従来の互換性についての推測よりも、正確なバージョンレス サービス出力を優先します。

要点: ファイル形式には現在の形状が 1 つあり、新しく変換されたサービス定義はサービスの下に収まります: バージョン行はありません

要点: ファイル形式には現在の形状が 1 つあり、新しく変換されたサービス定義はバージョン行なしでサービスの下に収まります。ソース オプション、モデル フィールド、バージョンレス サービスの出力行、および警告としてバージョン キーの削除を監査します。従来の互換性を確認する前にシークレットを削除してください。

最後に、構成の取り出しソースは、別の構成決定の境界は、歴史的な相違がコンバーターの実装によって説明されないことであることを確認しています。証拠: 過去の相違はコンバーターの実装によって説明されません。バージョン キーの削除を慎重に終了します。バージョンレス サービスの出力が候補です。従来の互換性とシェルの同等性は保証されません。