ホームページ  >  記事  >  運用・保守  >  DockerコンテナのIPを変更する方法

DockerコンテナのIPを変更する方法

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

クラウド コンピューティングとコンテナ化テクノロジの継続的な開発により、Docker コンテナは最新のアプリケーションの開発と展開のための重要なテクノロジの 1 つになりました。ただし、アプリケーションの開発とデプロイに Docker コンテナを使用する場合、特定のニーズやアプリケーション シナリオに合わせてコンテナの IP アドレスを変更することが必要になる場合があります。この記事では、DockerコンテナのIPアドレスを変更する方法を紹介します。

1. 概要

Docker コンテナ内の IP アドレスは、Docker のネットワーク ドライバーによって自動的に割り当てられます。デフォルトでは、Docker はブリッジ ネットワークを使用してコンテナを接続し、各コンテナにランダムな IP アドレスを割り当てます。ただし、場合によっては、複数のコンテナー間で特定のネットワーク接続を確立するなど、特定のニーズやアプリケーション シナリオに合わせてコンテナーの IP アドレスを変更する必要があります。

2. Docker コンテナのネットワーク構成を理解する

Docker コンテナの IP アドレスを変更する前に、まずコンテナのネットワーク構成を理解する必要があります。 Docker では、各コンテナーに独立したネットワーク名前空間が割り当てられ、コンテナーの接続に異なるネットワーク ドライバーを使用できます。一般的なネットワーク ドライバーには、ブリッジ、ホスト、オーバーレイなどが含まれます。その中で、ブリッジ ネットワーク ドライバーとホスト ネットワーク ドライバーが最もよく使用されます。

ブリッジ ネットワーク ドライバーを使用する場合、Docker は仮想ブリッジを作成し、各コンテナーに独立した IP アドレスを割り当てます。コンテナは仮想ブリッジを介して相互に通信できます。ホスト ネットワーク ドライバーを使用する場合、コンテナーはホストのネットワーク名前空間と IP アドレスを共有します。つまり、コンテナーの IP アドレスはホストの IP アドレスと同じになります。

Docker コンテナでは、ip addr コマンドを使用してコンテナのネットワーク構成情報を表示できます。たとえば、ブリッジ ネットワーク ドライバーを使用して作成されたコンテナーのネットワーク構成情報は次のとおりです。

# docker run --name mycontainer -d busybox sleep 300
# docker inspect mycontainer |grep IPAddress
            "IPAddress": "172.17.0.2",
                    "IPAddress": "172.17.0.2"

上の例では、コンテナの IP アドレスは 172.17.0.2 です。

3. Docker コンテナの IP アドレスを変更する

Docker コンテナでは、ネットワーク名前空間と ip コマンドを使用してコンテナの IP アドレスを変更できます。具体的な手順は次のとおりです。

3.1 コンテナのネットワーク名前空間を入力します

最初に、コンテナのネットワーク名前空間を入力する必要があります。次のコマンドを使用してコンテナの PID (プロセス ID) 番号を取得できます:

# docker inspect -f '{{.State.Pid}}' mycontainer
3456

次に、次のコマンドを使用してコンテナのネットワーク名前空間を入力できます:

# nsenter --target 3456 --net /bin/bash

コンテナ内では、ip addr コマンドを使用してコンテナのネットワーク構成情報を表示できます。

# ip addr

3.2 コンテナの IP アドレスを変更する

コンテナのネットワーク名前空間で、ip コマンドを使用してコンテナの IP アドレスを変更できます。次のコマンドを使用して、コンテナの IP アドレスを 192.168.0.2 に変更できます。

# ip addr add 192.168.0.2/24 dev eth0
# ip link set eth0 up

上記の例では、ip addr add コマンドを使用して、IP アドレス 192.168.0.2/24 をコンテナに追加しました。 eth0 インターフェイス。次に、ip link set コマンドを使用して eth0 インターフェイスを開きます。

コンテナの IP アドレスを変更した後、再度 ip addr コマンドを使用してコンテナのネットワーク構成情報を表示し、変更が有効になっているかどうかを確認できます。

3.3 コンテナのネットワーク名前空間を終了する

最後に、コンテナのネットワーク名前空間を終了する必要があります。 exit コマンドまたは Ctrl d ショートカット キーを使用して、コンテナのネットワーク名前空間を終了できます。

4. 概要

この記事の導入部を通じて、Docker コンテナーの IP アドレスを変更する方法を知ることができます。まず、コンテナのネットワーク構成を理解する必要があります。次に、コンテナのネットワーク名前空間を入力し、コンテナ内で ip コマンドを使用してコンテナの IP アドレスを変更します。最後に、コンテナのネットワーク名前空間を終了する必要があります。 Docker コンテナの IP アドレスを変更することで、特定のニーズとアプリケーション シナリオを満たし、アプリケーションのパフォーマンスとスケーラビリティを向上させることができます。

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

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