ホームページ >運用・保守 >Docker >Docker IPを接続する方法

Docker IPを接続する方法

PHPz
PHPzオリジナル
2023-05-13 14:31:07890ブラウズ

Docker コンテナ化テクノロジの人気に伴い、Docker を使用して独自のアプリケーションを構築する開発者が増えています。ただし、Docker を使用するときに留意すべき重要な点の 1 つは、Docker IP に接続する方法です。

Docker の IP に接続する必要がある理由

Docker を使用する場合、通常は複数のコンテナを作成し、それらをネットワーク経由で接続します。各コンテナには独自の IP アドレスがあり、この IP アドレスはコンテナ内の IP アドレスであり、ホストの IP アドレスではありません。したがって、ホストまたは他のコンテナからコンテナにアクセスする場合は、コンテナの IP アドレスを知る必要があります。

Docker の IP に接続する方法

通常、次の方法で Docker の IP に接続できます。

  1. docker Inspection コマンドを使用します

docker Inspection コマンドを使用して、コンテナーの IP アドレスなど、指定したコンテナーに関する詳細情報を取得します。使用法は次のとおりです。

docker inspect --format='{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container_name_or_id>

ここで、 b10b500ee54cee6a0872d0dff4e6e1e7 は、クエリ対象のコンテナ名またはコンテナ ID です。このコマンドはコンテナの IP アドレスを返します。

  1. Docker DNS サービスの使用

Docker は、コンテナ間の通信用に組み込みの DNS サービスを提供します。各コンテナーには自動的に名前が割り当てられ、DNS サービスを介してコンテナーにアクセスするために使用できます。コンテナーの名前は、デフォルトで Docker エンジンによって aac119f8a3a563a827b4e4c50481b4e7_N の形式で自動的に生成されます。aac119f8a3a563a827b4e4c50481b4e7 はコンテナー名またはイメージの接頭辞です。名前、N は整数です。コンテナ名またはイメージ名に複数のダッシュが含まれている場合、それらは 1 つのアンダースコアに変換されます。たとえば、web-server という名前のコンテナがある場合、そのデフォルト名は web_server_1 です。

Docker DNS サービスを使用すると、コンテナ名を通じてコン​​テナに簡単にアクセスできます。たとえば、コンテナ web_server_1 から別のコンテナ db_server_1 にアクセスする場合、コンテナの名前をドメイン名として使用し、web_server_1# のドメイン名に ping を実行できます。 ##。例:

ping db_server_1

    Docker ネットワークの使用
Docker では、カスタム ネットワークを作成し、コンテナをネットワークに接続できます。コンテナーが同じネットワークに接続されている場合、IP アドレスを使用せずに、対応するコンテナー名またはサービス名を使用して相互に接続できます。

カスタム ネットワークの作成:

docker network create <network_name>

コンテナをこのネットワークに接続:

docker run --name <container_name> --network <network_name> <image>

同じネットワーク内のコンテナは、対応するコンテナ名またはサービス名を使用してそれぞれに接続できます。その他、例:

ping <container_name>

まとめ

Docker の IP への接続は、Docker を使用する際の重要な操作です。 docker Inspection コマンドを使用してコンテナーの IP アドレスを取得し、Docker DNS サービスを使用してコンテナー名を通じてコン​​テナーにアクセスし、Docker ネットワークを使用して、対応するコンテナー名またはサービス名を使用してコンテナーを同じネットワークに接続します。互いに接続します。これらの方法は、Docker コンテナの管理と接続を改善し、作業をより楽しく効率的にするのに役立ちます。

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

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