検索
ホームページ運用・保守DockerDocker の 4 つのネットワーク モードとは何ですか?

Docker の 4 つのネットワーク モードは次のとおりです: 1. ホスト モード、「-net=host」で指定; 2. コンテナ モード、「-net=container:NAME_or_ID」で指定; 3. なしモード、「」で指定-net=none" を指定; 4. ブリッジモード。

Docker の 4 つのネットワーク モードとは何ですか?

このチュートリアルの動作環境: linux5.9.8 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。

実装原理

Docker は、Linux ブリッジング (「Linux 仮想ネットワーク テクノロジ」を参照) を使用して、ホスト上の Docker コンテナ ブリッジ (docker0) を仮想化します。Docker がコンテナを起動すると、 Docker ネットワークに基づく ブリッジのネットワーク セグメントには、Container-IP と呼ばれる IP アドレスがコンテナに割り当てられ、Docker ブリッジは各コンテナのデフォルト ゲートウェイになります。同じホスト内のコンテナはすべて同じネットワーク ブリッジに接続されているため、コンテナはコンテナの Container-IP を介して直接通信できます。

Docker ブリッジはホストによって仮想化されており、実際のネットワーク デバイスではありません。外部ネットワークからアドレス指定することはできません。これは、外部ネットワークが直接 Container-IP を介してコンテナにアクセスできないことを意味します。コンテナーに外部からアクセスできるようにする必要がある場合は、コンテナーのポートをホストにマップ (ポート マッピング) できます。つまり、docker run がコンテナーを作成するときに -p または -P パラメーターを通じて有効にし、[ホスト IP] を使用します。 ] コンテナにアクセスする場合:[コンテナポート] コンテナにアクセスします。

4 種類のネットワーク モード

Docker ネットワーク モード 構成 手順
ホスト モード –net=host コンテナとホストはネットワーク名前空間を共有します。
コンテナ モード –net=container:NAME_or_ID コンテナは、ネットワーク名前空間を別のコンテナと共有します。 kubernetes のポッドは、複数のコンテナーによって共有されるネットワーク名前空間です。
none モード –net=none コンテナには独立した Network 名前空間がありますが、割り当てなどのネットワーク設定は行われません。 veth ペアとブリッジ接続、IP の設定など。
ブリッジ モード –net=bridge (デフォルトはこのモードです)

ホスト モード

コンテナの起動時にホスト モードを使用すると、コンテナは独立したネットワーク ネームスペースを取得せず、ホストとネットワーク ネームスペースを共有します。コンテナは独自のネットワーク カードを仮想化したり、独自の IP を設定したりすることはなく、ホストの IP とポートを使用します。ただし、ファイル システム、プロセス リストなど、コンテナーの他の側面は依然としてホストから分離されています。

ホスト モードを使用するコンテナは、ホストの IP アドレスを直接使用して外部と通信できます。コンテナ内のサービス ポートもホストのポートを使用できます。NAT は必要ありません。ホストの最大の利点は、ネットワークのパフォーマンスは比較的良好ですが、Docker ホストで既に使用されているポートは使用できなくなり、ネットワークの分離は良好ではありません。

ホスト モードは次のとおりです。

Docker の 4 つのネットワーク モードとは何ですか?

コンテナ モード

このモードでは、新しく作成されたコンテナと既存のコンテナは、ホストではなくネットワーク名前空間を共有します。新しく作成されたコンテナーは、独自のネットワーク カードを作成して独自の IP を構成しませんが、指定されたコンテナーと IP、ポート範囲などを共有します。同様に、ネットワークとは別に、2 つのコンテナはファイル システムやプロセス リストなどの他の側面でも分離されています。 2 つのコンテナのプロセスは、ネットワーク カード デバイスを介して通信できます。

コンテナ モード図:

Docker の 4 つのネットワーク モードとは何ですか?

none モード

none モードを使用すると、Docker コンテナは独自のネットワークを持ちます。ただし、 Namespace は、Docker コンテナーのネットワーク構成を実行しません。つまり、この Docker コンテナにはネットワーク カード、IP、ルーティングなどの情報がありません。ネットワーク カードの追加、IP の構成などを Docker コンテナに自分で行う必要があります。

このネットワーク モードでは、コンテナには lo ループバック ネットワークのみがあり、他のネットワーク カードはありません。 none モードは、コンテナの作成時に --network=none で指定できます。このタイプのネットワークはインターネットに接続できませんが、閉じたネットワークによりコンテナのセキュリティを確保できます。

なしモード図:

Docker の 4 つのネットワーク モードとは何ですか?

ブリッジ モード

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 を使用して表示できます。

ブリッジ モードを次の図に示します。

Docker の 4 つのネットワーク モードとは何ですか?

推奨学習: 「docker ビデオ チュートリアル

以上がDocker の 4 つのネットワーク モードとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
LinuxでDockerを使用:包括的なガイドLinuxでDockerを使用:包括的なガイドApr 12, 2025 am 12:07 AM

LinuxでDockerを使用すると、開発と展開の効率が向上する可能性があります。 1。Dockerのインストール:スクリプトを使用して、ubuntuにDockerをインストールします。 2.インストールの確認:sudodockerrunhello-worldを実行します。 3。基本的な使用法:NginxコンテナDockerrun-Namemy-Nginx-P8080を作成します:80-Dnginx。 4。高度な使用法:カスタム画像を作成し、DockerFileを使用してビルドして実行します。 5。最適化とベストプラクティス:マルチステージビルドとドッケルコンポスを使用して、DockerFilesを作成するためのベストプラクティスに従ってください。

Docker監視:メトリックの収集とコンテナの健康の追跡Docker監視:メトリックの収集とコンテナの健康の追跡Apr 10, 2025 am 09:39 AM

Docker監視の中核は、主にCPUの使用、メモリ使用、ネットワークトラフィック、ディスクI/Oなどのインジケーターを含む、コンテナの動作データを収集および分析することです。 Prometheus、Grafana、Cadvisorなどのツールを使用することにより、コンテナの包括的な監視とパフォーマンスの最適化を実現できます。

Docker Swarm:スケーラブルで回復力のあるコンテナクラスターの構築Docker Swarm:スケーラブルで回復力のあるコンテナクラスターの構築Apr 09, 2025 am 12:11 AM

DockerSwarmは、スケーラブルで非常に利用可能なコンテナクラスターを構築するために使用できます。 1)dockerswarminitを使用して群れクラスターを初期化します。 2)swarmクラスターに参加して、dockerswarmjoinを使用します。 3)DockerServiceCreate-Namemy-Nginxを使用してサービスを作成します - Replicas3nginx。 4)dockerstackdeploy-cdocker-compose.ymlmyAppを使用して複雑なサービスを展開します。

Kubernetesを備えたDocker:エンタープライズアプリケーション用のコンテナオーケストレーションKubernetesを備えたDocker:エンタープライズアプリケーション用のコンテナオーケストレーションApr 08, 2025 am 12:07 AM

DockerとKubernetesを使用して、エンタープライズアプリケーションのコンテナオーケストレーションを実行する方法は?次の手順で実装します。Dockerイメージを作成し、DockerHubにプッシュします。 Kubernetesで展開とサービスを作成して、アプリケーションを展開します。 Ingressを使用して外部アクセスを管理します。パフォーマンスの最適化と、マルチステージの構築やリソースの制約などのベストプラクティスを適用します。

Dockerのトラブルシューティング:一般的な問題の診断と解決Dockerのトラブルシューティング:一般的な問題の診断と解決Apr 07, 2025 am 12:15 AM

Docker FAQは、次の手順で診断および解決できます。1。コンテナのステータスとログを表示、2。ネットワーク構成を確認します。これらの方法により、Dockerの問題を迅速に配置して固定し、システムの安定性とパフォーマンスを向上させることができます。

Dockerインタビューの質問:DevOpsエンジニアリングインタビューをエースDockerインタビューの質問:DevOpsエンジニアリングインタビューをエースApr 06, 2025 am 12:01 AM

Dockerは、DevOpsエンジニアにとって必須のスキルです。 1.Dockerは、アプリケーションとその依存関係をコンテナにパッケージ化することにより、分離と移植性を実現するオープンソースのコンテナ化されたプラットフォームです。 2. Dockerは、名前空間、コントロールグループ、フェデレーションファイルシステムで動作します。 3。基本的な使用には、コンテナの作成、実行、管理が含まれます。 4.高度な使用法には、DockerComposeを使用してマルチコンテナーアプリケーションを管理することが含まれます。 5.一般的なエラーには、コンテナ障害、ポートマッピングの問題、データの持続性の問題が含まれます。デバッグスキルには、ログの表示、コンテナの入り、および詳細情報の表示が含まれます。 6.パフォーマンスの最適化とベストプラクティスには、画像の最適化、リソースの制約、ネットワーク最適化、DockerFileを使用するためのベストプラクティスが含まれます。

Dockerセキュリティ硬化:容量から容器を保護しますDockerセキュリティ硬化:容量から容器を保護しますApr 05, 2025 am 12:08 AM

Dockerセキュリティの強化方法は次のとおりです。1。-cap-dropパラメーターを使用してLinux機能を制限します。2。読み取り専用コンテナを作成します。これらの戦略は、脆弱性の露出を減らし、攻撃者の機能を制限することにより、コンテナを保護します。

Dockerボリューム:コンテナ内の永続的なデータの管理Dockerボリューム:コンテナ内の永続的なデータの管理Apr 04, 2025 am 12:19 AM

Dockervolumeは、コンテナを再起動、削除、または移行すると、データが安全であることが保証されます。 1。ボリュームの作成:Dockervolumecreatemydata。 2。コンテナとマウントボリュームを実行します:Dockerrun-It-Vmydata:/app/dataubuntubash。 3.高度な使用には、データ共有とバックアップが含まれます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール