日本語

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

Compose の Docker ネットワーク: ブリッジ、ホスト、およびデフォルト ネットワーク

· 背景

ドッカー 作成 ネットワーキング

Compose での Docker ネットワーキングを示す抽象図: ブリッジ、ホスト、デフォルト ネットワーク
オリジナル ToolAcre ベクトル イラスト

Docker のネットワーク モデルは、初期の --link 時代と今日のユーザー定義ネットワークの間で大きく変わりました。この投稿では、モード、Compose が自動的に作成するもの、および --network フラグの変換方法について説明します。

Web コンテナがデータベースを見つけることができません — 古い Docker run が --link を使用しており、新しいファイルには何もありません

Web コンテナはデータベースを見つけることができません — 古い Docker run は --link を使用しており、新しいファイルには何もありません。証拠: --link は消費され、YAML になるのではなくレガシーとして警告されます。使い捨てリテラルを使用してネットワーク接続を再現します。各ソース オカレンスを network_mode ネットワーク リンクとペアにします。宛先レビュー用に DNS とトポロジを予約します。

ネットワーク インシデントでは、別のネットワーク インシデントの境界として、ホストなしブリッジ プライベートおよびコンテナのプレフィックス付きの値が network_mode になることも明らかになりました。証拠: ホストなしブリッジプライベートおよびコンテナプレフィックス付きの値は network_mode になります。このネットワーク接続の制約は停止点です。製造動作を行わずに network_mode ネットワーク リンクを検査し、DNS とトポロジのホスト チェックを文書化します。

コンバータは、ユーザー名付きネットワークを外部として宣言します。マルチサービスのデフォルトネットワークは構築されません

デフォルトのブリッジとユーザー定義のブリッジ - サービス名が後者でのみ解決される理由。証拠: 単一サービスのコンバーターはプロジェクトの DNS 関係を構築できません。コンバータは、ユーザー名付きネットワークを外部として宣言します。マルチサービスのデフォルト ネットワークは構築されません。 network_mode ネットワーク リンクへのネットワーク接続トークンをトレースします。順序付けされた値を最終値フィールドから分離します。 DNS とトポロジは収集の対象外です。

関連するネットワーク メカニズムの境界は、このネットワーク セクションについては、このネットワーク セクションのコマンドと警告のオリジナルを、この候補ファイルの横に保持することです。証拠: リポジトリは、より広範な実行時または歴史的な証拠を提供しません。このネットワーク アタッチメント ファクトを使用して、network_mode ネットワーク リンク内の 1 つのメンバーまたはスカラーを予測します。 DNS とトポロジについて何かを決定する前に、警告を確認してください。

プロジェクト ネットワークの DNS 動作は、この単一サービス コンバーターでは生成またはテストされません

Compose が作成するもの — すべてのサービスが DNS 名を持つプロジェクト ネットワークです。証拠: カスタム ネットワークはサービス エントリと外部宣言になります。プロジェクト ネットワークの DNS 動作は、この単一サービス コンバーターによって生成またはテストされません。ネットワーク アタッチメントのシリアル化をそのモデルから判断します。 network_mode ネットワーク リンクでのクォートはタイプを保護しますが、DNS とトポロジの動作証明は提供しません。

2 番目のネットワーキング シリアル化の監視は、このネットワーキング セクションに対して、このネットワーキング セクションの元のコマンドと、このネットワーキング セクションのこの候補ファイルの横にある警告であり、ネットワーキング シリアル化の結果が、このネットワーキング セクションの構成に対して表されるものと、このネットワーキング セクションの欠如したコンテキストから分離されるという警告が表示されます。イメージ メタデータは、ネットワーキング シリアル化変換の範囲外です。このネットワーク接続出力は、設定を使用できないコンテキストから分離します。 network_mode ネットワーク リンクをレビュー可能な状態に保ち、DNS とトポロジを個別にチェックします。

--network host および none — network_mode: host、Linux に重点を置いた性質、およびポートは無視されます

--network host および none — network_mode: host、Linux に重点を置いた性質、およびポートは無視されます。推測するのではなく、ネットワーク接続例外で停止してください。 network_mode ネットワーク リンクの近くに追加する場合は、DNS とトポロジに関連付けられた展開固有の理由が必要です。

もう 1 つのネットワーク例外制約は、別のネットワーク例外境界として、オーバーレイ macvlan エイリアスと固定アドレスには手動作業が必要であるということです。証拠: オーバーレイ macvlan エイリアスと固定アドレスには手動作業が必要です。警告の横にある元のネットワーク接続コマンドをそのままにしておきます。この比較により、network_mode ネットワーク リンクにどのようなものが含まれているか、またどの DNS およびトポロジの決定が手動のままであるかがわかります。

コンテナ:x は network_mode: コンテナ:x として保持され、サービス:x に書き換えられません。

--networkcontainer:x — Compose の network_mode:service:x と VPN サイドカーでのその使用法。証拠:container:x はリテラルのままで、service:x に書き換えられません。 container:x は、service:x に書き換えられるのではなく、network_mode:container:x として保持されます。合成名からネットワーク アタッチメントの例を構築します。運用環境の DNS とトポロジの詳細を公開せずに、すべての network_mode ネットワーク リンク項目を追跡可能にします。

同じネットワークのサンプル サンプルは、このネットワーク セクションについて、このネットワーク セクションのコマンドと警告をこの候補ファイルの横にオリジナルで保持することを示しています。ペアになったネットワーク接続ファクトは、network_mode ネットワーク リンクに表示されるはずです。その行を記録し、DNS とトポロジに関する思い込みを避けてください。

--link はレガシーとして警告され、リンク キーになる代わりに省略されます。

--link — 従来のリンク: キー、その機能、およびサービス名がそれを置き換える理由。証拠: リンク キーは生成されず、ピアは手動でモデル化する必要があります。 --link はレガシーとして警告され、リンク キーになる代わりに省略されます。ネットワーク接続の結果を 1 つの観察可能な network_mode ネットワーク リンクの違いに変換します。 Docker は、その後の DNS とトポロジの判定を所有します。

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

この内容の対象外 — オーバーレイ ネットワーク、macvlan、および IPv6 構成

これでカバーされないもの — オーバーレイ ネットワーク、macvlan、および IPv6 構成。ネットワーク接続範囲を、ここに示す network_mode ネットワーク リンク ブランチに制限します。隣接するフォームとデフォルトは、DNS とトポロジの質問に答えることができません。

もう 1 つのネットワーク スコープ制限は、「別個のネットワーク制限境界」に続き、単一サービス コンバーターがプロジェクトの DNS 関係を構築できないことです。証拠: 単一サービスのコンバーターはプロジェクトの DNS 関係を構築できません。このネットワーク接続境界を除外として扱います。 DNS やトポロジに関する推測よりも、正確な network_mode ネットワーク リンクを優先します。

network_mode および外部ネットワーク宣言とともに警告を読む

要点: Compose ネットワークは最新の --link であり、コマンドを --network で変換すると、サービス内でフラグがどのように表現されるかがわかります。証拠: ホスト モードでは、公開ポートには実行時効果がないことが警告されます。 network_mode および外部ネットワーク宣言の横にある警告をお読みください。ソース オプション、モデル フィールド、network_mode ネットワーク リンク行、および警告としてネットワーク接続を監査します。 DNS とトポロジを確認する前にシークレットを削除してください。

最後に、ネットワーク テイクアウェイ ソースは、このネットワーク セクションの元のコマンドが保持されていることを確認し、このネットワーク セクションのこの候補ファイルの横に、ネットワーク テイクアウェイの結論により、このネットワーク セクションの解析の等価性シェルを約束することなく、このネットワーク セクションの監査可能性が向上するという警告が、ネットワーキング テイクアウェイの保証の範囲外に残っていることを確認します。ネットワーク接続を狭く閉じます: network_mode ネットワーク リンクが候補です。 DNS、トポロジ、およびシェルの同等性は保証されません。