ホームページ > 運用・保守 > Linuxの運用と保守 > Linux でコンテナ ネットワークを構成する方法

Linux でコンテナ ネットワークを構成する方法

王林
リリース: 2023-07-05 15:33:07
オリジナル
817 人が閲覧しました

Linux でコンテナ ネットワークを構成する方法

今日のクラウド コンピューティング時代では、開発者の間でコンテナ化テクノロジがますます好まれています。現在最も人気のあるコンテナ化プラットフォームである Docker は、便利で効率的なコンテナ管理方法を提供します。コンテナのネットワーク構成も、コンテナ化されたアプリケーションの展開において特に重要です。この記事では、コンテナ間の通信や外部との相互接続を容易にするために、Linux 上でコンテナ ネットワークを構成する方法を紹介します。

1. ネットワーク モードを理解する

Docker にはさまざまなネットワーク モードが用意されており、実際のニーズに応じて適切な方法を選択する必要があります。

  1. ブリッジ (ブリッジ モード): デフォルト モード。仮想ネットワーク (ブリッジ) を作成し、各コンテナをこのネットワークに接続します。コンテナは、独自の IP アドレスを使用してこのネットワーク内で通信できます。
  2. ホスト (ホスト モード): コンテナーとホストはネットワークを共有し、コンテナーはホストの IP アドレスとネットワーク インターフェイスを直接使用します。
  3. オーバーレイ (オーバーレイ ネットワーク): マルチホスト Docker 環境で使用されるネットワーク モードは、クロスホスト コンテナー通信を実現できます。
  4. MacVlan (MAC VLAN): コンテナは物理ネットワーク内の特定のインターフェイス MAC アドレスに関連付けられ、実際の物理ネットワーク アドレスを直接取得します。

2. ブリッジ モード ネットワークの構成

ブリッジ モードは、外部ネットワークから隔離しながらコンテナ間の通信を実現できる、Docker で最もよく使われるネットワーク構成方法です。ブリッジ モード ネットワークを構成する手順は次のとおりです。

  1. ネットワークの作成
$ docker network create mynetwork
ログイン後にコピー
  1. コンテナの開始
$ docker run -d --name mycontainer --network mynetwork nginx
ログイン後にコピー
ログイン後にコピー

上記のコマンドは、mycontainer という名前のコンテナを開始し、それを結合します。私のネットワークネットワーク。

  1. コンテナ間の通信

同じネットワーク上のコンテナは、コンテナ名を使用して通信でき、コンテナ名は対応する IP アドレスに解決できます。

$ docker exec -it mycontainer1 ping mycontainer2 
ログイン後にコピー

このコマンドを使用すると、コンテナ内から別のコンテナに ping を送信できます。

3. ホスト モード ネットワークの構成

ホスト モード ネットワークでは、コンテナーがホストのネットワーク インターフェイスと IP アドレスを直接使用できるため、コンテナーとホストはネットワーク名前空間を共有します。ホスト モード ネットワークを構成する手順は次のとおりです。

  1. コンテナの起動
$ docker run -d --name mycontainer --network host nginx
ログイン後にコピー

上記のコマンドは、mycontainer という名前のコンテナを起動し、ホストのネットワークを直接使用します。

  1. コンテナとホスト間の通信

ホスト モードでは、コンテナはホストのネットワーク インターフェイスと IP アドレスを直接使用してホストと通信します。

$ docker exec -it mycontainer ping localhost 
ログイン後にコピー

上記のコマンドは、コンテナ内のホスト アドレスに ping を実行できます。

4. オーバーレイ ネットワークの構成

オーバーレイ ネットワークは通常、マルチノード Docker 環境でホスト間コンテナー通信を実現するために使用されます。オーバーレイ ネットワークを構成する手順は次のとおりです。

  1. ネットワークの作成
$ docker network create -d overlay mynetwork
ログイン後にコピー
  1. コンテナの開始
$ docker service create --name myservice --network mynetwork nginx
ログイン後にコピー

作成時に上記のコマンドを使用して、mynetwork ネットワークにサービスを追加しますそれは真ん中です。

  1. コンテナ間の通信

オーバーレイ ネットワークでは、コンテナ間の通信にサービス名を使用できます。

$ docker exec -it mycontainer1 ping myservice 
ログイン後にコピー

上記のコマンドは、コンテナ内のサービスに ping を実行できます。

5. MAC VLAN ネットワークの設定

MAC VLAN ネットワーク モードは、コンテナを物理ネットワーク内のインターフェイス MAC アドレスに関連付け、実際の物理ネットワーク アドレスを直接取得できます。 MAC VLAN ネットワークを構成する手順は次のとおりです。

  1. ネットワークの作成
$ docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 mynetwork
ログイン後にコピー
  1. コンテナの開始
$ docker run -d --name mycontainer --network mynetwork nginx
ログイン後にコピー
ログイン後にコピー

作成時に上記のコマンドを使用して、コンテナを mynetwork ネットワークに追加しますそれは真ん中です。

  1. コンテナと物理ネットワークの通信

MAC VLAN ネットワークでは、コンテナは物理ネットワークのインターフェイスを使用して直接通信できます。

$ docker exec -it mycontainer ping 192.168.1.2 
ログイン後にコピー

上記のコマンドは、コンテナ内の物理ネットワークのアドレスに ping を実行できます。

概要

上記の紹介を通じて、Linux 上でコンテナ ネットワークを構成する方法を理解しました。実際のニーズに応じて、適切なネットワーク モードを選択し、対応する手順に従って構成できます。ネットワーク構成は、コンテナー化されたアプリケーションのデプロイメントと運用にとって非常に重要です。この記事がお役に立てば幸いです。

以上がLinux でコンテナ ネットワークを構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート