Docker の 4 つのネットワーク モードの違いは何ですか?
相違点: 1. ホスト モードのコンテナとホストは「ネットワーク ネームスペース」を共有します; 2. コンテナ モードで作成されたコンテナは、指定されたコンテナと IP およびポート範囲を共有します; 3. なしモードは終了しますコンテナのネットワーク機能 4. ブリッジのデフォルト モードでは、各コンテナに IP が割り当てられます。
このチュートリアルの動作環境: linux7.3 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。
##4 つの Docker ネットワーク モードの違いは何ですか#1. 4 つのネットワーク モード
2. 実装原則
Docker は Linux ブリッジングを使用して、ホスト上の Docker コンテナ ブリッジ (docker0) を仮想化します。 Docker ブリッジのネットワーク セグメントには、Container-IP と呼ばれる IP アドレスがコンテナに割り当てられ、Docker ブリッジは各コンテナのデフォルト ゲートウェイになります。同じホスト内のコンテナはすべて同じネットワーク ブリッジに接続されているため、コンテナはコンテナの Container-IPDocker ブリッジを介して直接通信できます。Docker ブリッジはホストによって仮想化されており、実際には存在しません。ネットワーク デバイスはアドレス指定できません。これは、外部ネットワークが直接 Container-IP を介してコンテナにアクセスできないことも意味します。コンテナーに外部からアクセスできるようにする必要がある場合は、コンテナーのポートをホストにマップ (ポート マッピング) できます。つまり、docker run がコンテナーを作成するときに -p または -P パラメーターを通じて有効にし、[ホスト IP] を使用します。 ] コンテナにアクセスする場合: [コンテナ ポート] コンテナにアクセスします1.ホスト モード
コンテナの起動時にホスト モードを使用すると、コンテナは起動しません。独立したネットワーク ネームスペースを取得します。代わりに、ネットワーク ネームスペースをホストと共有します。コンテナは、独自のネットワーク カードを仮想化したり、独自の IP を構成したりせず、ホストの IP とポートを使用します。コンテナホスト モードを使用すると、ホストを直接使用できます。ホストの IP アドレスは外部と通信します。コンテナ内のサービス ポートは、NAT なしでホストのポートを使用することもできます。ホストの最大の利点は、ネットワーク パフォーマンスが向上することです。ただし、Docker ホストで既に使用されているポートは再度使用できません。ネットワークの分離が良好ではありません。2.コンテナ モード
作成されたコンテナは作成されません独自のネットワーク カードを使用し、独自の IP を構成しますが、指定されたコンテナと通信します。 共有 IP、ポート範囲このモードでは、新しく作成されたコンテナがネットワーク ネームスペースを既存のコンテナと共有するのではなく、既存のコンテナと共有することを指定します。ザ・ホスト。同様に、ネットワークとは別に、2 つのコンテナはファイル システムやプロセス リストなどの他の側面でも分離されています。 2 つのコンテナのプロセスは、ネットワーク カード デバイスを介して通信できます#3.None モード#このモードでは、コンテナのネットワーク機能がオフになります
Use none モード。Docker コンテナには独自のネットワーク名前空間がありますが、Docker コンテナに対してネットワーク構成は実行されません。つまり、この Docker コンテナにはネットワーク カード、IP、ルーティングなどの情報がありません。 Docker コンテナにネットワーク カードを追加したり、IP を設定したりする必要があります。
このネットワーク モードでは、コンテナには lo ループバック ネットワークのみがあり、他のネットワーク カードはありません。 none モードは、コンテナーの作成時に --network=none を介して指定できます。このタイプのネットワークはインターネットに接続できません。閉じたネットワークにより、コンテナのセキュリティを確保できます。
ネットワークがない場合、セキュリティは非常に高くなります。データは安全に保存され、攻撃されることはありません
4.ブリッジ モード (デフォルト)このモードでは、各コンテナーに IP を割り当てて設定し、docker0 ブリッジとアソシエーションを介してコンテナーを docker0 仮想ブリッジに接続します。 iptables nat テーブル設定とホストの間
Docker プロセスが開始すると、docker0 という名前の仮想ブリッジがホスト上に作成され、このホスト上で開始された Docker コンテナがこの仮想ブリッジ上位に接続します。仮想ブリッジは物理スイッチと同様に機能するため、ホスト上のすべてのコンテナーはスイッチを介してレイヤー 2 ネットワークに接続されます。
docker0 サブネットからコンテナーに IP を割り当て、docker0 を設定します。 IP アドレスはコンテナのデフォルト ゲートウェイです。ホスト上に仮想ネットワーク カードの veth ペア デバイスのペアを作成します。Docker は、新しく作成されたコンテナーに veth ペア デバイスの一方の端を配置して eth0 (コンテナーのネットワーク カード) という名前を付け、もう一方の端は同様の名前でホスト内に配置します。 like vethxxx. このネットワーク デバイスに名前を付けて、docker0 ブリッジに追加します。 brctl show コマンドを使用して表示できます
ブリッジ モードは docker のデフォルトのネットワーク モードであり、-net パラメータを記述しない場合はブリッジ モードになります。 docker run -p を使用すると、docker は実際に iptables で DNAT ルールを作成し、ポート転送機能を実装します。 iptables -t nat -vnL を使用すると、
概要ホスト: ネットワーク名前空間/ネットワーク プロトコル スタックをホスト、IP 共有、およびポートと共有します。
コンテナ: 複数のコンテナがネットワーク名前空間を共有し、複数のコンテナが共通の IP とポート範囲を共有します
なし: 自己完結型スペース、ネットワーク カード、ネットワーク接続は不要
ブリッジ: ブリッジ、デフォルト モード。ネットワーク モードを指定せずにコンテナを作成します。このモードはデフォルトで使用され、コンテナは Veth ペアを介して docker0 ブリッジに接続され、ブリッジはコンテナに IP を割り当て、docker0 は「LAN」コンテンツとして使用されます サーバーのゲートウェイは最終的にホスト ネットワーク カードと通信します 同時に、コンテナ IP/ポートはホスト ネットワーク カードとの対話用の IPtables ルールによってマッピングされます
推奨学習: 「docker ビデオ チュートリアル》
以上がDocker の 4 つのネットワーク モードの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerバージョンを取得するには、次の手順を実行できます。Dockerコマンド「Docker -version」を実行して、クライアントバージョンとサーバーバージョンを表示します。 MacまたはWindowsの場合は、DockerデスクトップGUIのバージョンタブまたはDockerデスクトップメニューのバージョン情報を表示することもできます。

Docker画像を作成する手順:ビルド命令を含むDockerFileを書きます。 Docker Buildコマンドを使用して、ターミナルで画像を作成します。画像にタグを付け、Dockerタグコマンドを使用して名前とタグを割り当てます。

国内のミラーソースに切り替えることができます。手順は次のとおりです。1。構成ファイル/etc/docker/daemon.jsonを編集し、ミラーソースアドレスを追加します。 2。保存して終了した後、Docker Service Sudo SystemCtlを再起動してDockerを再起動して、画像のダウンロード速度と安定性を改善します。

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

Dockerに画像を保存するには、Docker Commitコマンドを使用して、指定されたコンテナの現在の状態、Syntax:Docker Commit [Options]コンテナID画像名を含む新しい画像を作成できます。画像をリポジトリに保存するには、Docker Pushコマンド、Syntax:Docker Push Image Name [:Tag]を使用できます。保存された画像をインポートするには、Docker Pullコマンド、Syntax:Docker Pull Image Name [:Tag]を使用できます。

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Dockerプライベートリポジトリを構築して、コンテナ画像を安全に保存および管理し、厳格な制御とセキュリティを提供できます。手順には、リポジトリの作成、アクセスの付与、リポジトリの展開、画像のプッシュ、および画像の引くなどがあります。利点には、セキュリティ、バージョン制御、ネットワークトラフィックの削減、カスタマイズが含まれます。
