ホームページ >運用・保守 >Docker >DockerでIPを指定する方法

DockerでIPを指定する方法

PHPz
PHPzオリジナル
2023-04-19 11:36:236688ブラウズ

クラウド コンピューティングとコンテナ化テクノロジの人気に伴い、Docker は人気のあるコンテナ化ソリューションになりました。 Docker コンテナはデフォルトでホスト マシンの IP アドレスを使用するため、場合によっては Docker コンテナに特定の IP アドレスを指定する必要があります。この記事では、DockerコンテナでIPアドレスを指定する方法について説明します。

Docker コンテナの IP アドレス割り当て

Docker では、コンテナの IP アドレスは Docker デーモンによって動的に割り当てられます。デフォルトでは、ホストの IP アドレスが使用されます。この場合、すべての Docker コンテナはホストの IP アドレスを通じて通信できます。

ほとんどのアプリケーションではこのデフォルト設定で十分ですが、場合によっては、Docker コンテナーに静的 IP アドレスを指定する必要がある場合があります。

Docker コンテナの IP アドレスを指定する

Docker コンテナの静的 IP アドレスを指定するには 2 つの方法があります。 VLAN または macvlan ネットワーク プロファイルを介して Docker コンテナをホストの物理ネットワークに接続し、静的 IP アドレスを使用するように構成できます。さらに、ブリッジ ネットワーク モードを使用してコンテナー用に独自のネットワークをセットアップし、静的 IP アドレスを使用するように構成することもできます。

方法 1: VLAN または macvlan ネットワークを使用する

VLAN と macvlan ネットワークは、それぞれ仮想 LAN と物理 LAN の概念です。これにより、Docker コンテナをホストの物理ネットワークに接続し、静的 IP アドレスを割り当てることができます。このアプローチの主な利点は、Docker コンテナーとホスト マシンが同じネットワークを共有するため、コンテナーが外部デバイスと直接通信できることです。

VLAN または macvlan ネットワークを使用する手順は次のとおりです。

  1. VLAN または macvlan ネットワークを作成する

Docker コンテナを物理ネットワークを使用する場合は、まず VLAN または macvlan ネットワークを作成する必要があります。次のコマンドを使用して VLAN ネットワークを作成できます。

docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 mynetwork

このコマンドは、192.168.1.0/24 サブネットと 192.168.1.1 ゲートウェイを使用する mynetwork という名前の VLAN ネットワークを作成します。さらに、親ネットワーク インターフェイスが eth0 であることを指定します。この例では、eth0 はホスト マシン上のネットワーク インターフェイスです。

  1. Docker コンテナを作成し、VLAN または macvlan ネットワークに接続します

次に、VLAN または macvlan ネットワークに Docker コンテナを作成する必要があります。次のコマンドを使用して、Docker コンテナを作成し、mynetwork ネットワークに接続します。

docker run -itd --name mycontainer --network mynetwork --ip 192.168.1.10 busybox

このコマンドは、mycontainer という名前の Docker コンテナを作成し、mynetwork ネットワークに接続します。さらに、静的 IP アドレス 192.168.1.10 をコンテナに割り当てます。

これで、ホストの IP アドレスを使用せずに mycontainer コンテナと通信できるようになりました。さらに、他のデバイスは静的 IP アドレス 192.168.1.10 を介してこのコンテナにアクセスできます。

方法 2: ブリッジ ネットワークを使用する

ブリッジ ネットワークは、Docker で一般的に使用されるネットワーク モードの 1 つです。これにより、Docker コンテナー用の新しいネットワークを作成し、静的 IP アドレスを使用するように構成できます。このアプローチを使用すると、Docker コンテナーは完全に分離され、ホストや他のコンテナーとネットワークを共有できなくなります。

ブリッジ ネットワークを使用する手順は次のとおりです。

  1. ブリッジ ネットワークの作成

Docker コンテナー用の新しいネットワークを作成するには、次を使用します。次のコマンド:

docker network create --subnet=172.18.0.0/16 mybridge

このコマンドは、mybridge という名前のブリッジ ネットワークを作成し、そのサブネットを 172.18.0.0/16 として指定します。

  1. Docker コンテナで動作する Web アプリケーションを実行する

次に、動作する Web アプリケーションを Docker コンテナで実行する必要があります。次のコマンドを使用して、nginx Web サーバー コンテナを起動します。

docker run -itd --name mynginx --network mybridge nginx

このコマンドは、mybridge ネットワークで mynginx という名前の Nginx コンテナを起動します。

  1. Docker コンテナーの静的 IP アドレスを指定する

次に、mynginx コンテナーの静的 IP アドレスを指定する必要があります。次のコマンドを使用して、コンテナに静的 IP アドレスを割り当てます。

docker network connect --ip 172.18.0.2 mybridge mynginx

このコマンドは、mynginx コンテナに IP アドレス 172.18.0.2 を割り当てます。これで、他のパブリック IP アドレスと同様に、この IP アドレスを使用してアクセスできるようになります。

概要

Docker コンテナの IP アドレスは、Docker デーモンによって動的に割り当てられます。デフォルトでは、ホストの IP アドレスが使用されます。ただし、場合によっては、Docker コンテナーに静的 IP アドレスを指定する必要がある場合があります。 2 つの異なる方法について説明しました。VLAN または macvlan ネットワークを使用して Docker コンテナをホストの物理ネットワークに接続し、静的 IP アドレスに設定するか、ブリッジ ネットワーク モードを使用してコンテナ用に独自のネットワークをセットアップし、構成することができます。静的 IP アドレスを使用します。ニーズに合った方法を選択して、特定の IP アドレスを Docker コンテナーに割り当てることができるようになりました。

以上がDockerでIPを指定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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