Docker は、ユーザーがアプリケーションを簡単に構築、公開、実行できるようにする人気のコンテナ化プラットフォームです。 Docker はさまざまなオペレーティング システム上で実行され、ほぼすべてのプログラミング言語で使用できます。 Docker ユーザーであれば、おそらく、ローカルの Docker コンテナーでアプリケーションを実行する方法をすでに知っているでしょう。ただし、実際の運用環境では、ネットワーク経由で外部にサービスを提供する方法を理解する必要があります。この記事では、Docker のサービスにアクセスする方法を説明し、Docker でポート マッピングとネットワークを使用する方法を示します。
Docker でサービスを実行する場合、デフォルトでは、そのサービスにはローカルでのみアクセスでき、他のコンピューターからはアクセスできません。サービスにアクセスできるようにするには、ポート マッピングを介してサービスをパブリック ネットワークに公開する必要があります。ポート マッピングは、内部 Docker ポートを外部コンピューターにマッピングする技術です。これを行う手順は次のとおりです。
ステップ 1: Docker でサービスを実行する
まず、Docker でサービスをローカルで実行する必要があります。たとえば、Web アプリケーションを実行している場合は、適切な Docker コマンドを使用して、コンテナ内でアプリケーションを実行する必要があります。
ステップ 2: Docker コンテナの IP アドレスを見つける
次に、Docker コンテナの IP アドレスを見つける必要があります。次のコマンドを実行して、コンテナの IP アドレスを取得できます:
docker inspect <container_name> | grep "IPAddress"
注:
ステップ 3: コンテナ ポートをホスト ポートにマッピングする
次に、コンテナ ポートをホスト ポートにマッピングする必要があります。たとえば、アプリケーションがコンテナ内のポート 80 で実行される場合、そのポートをホスト上のポート 8080 にマップする必要があります。この操作を実行するには、次のコマンドを使用できます:
docker run -p 8080:80 -d <image_name>
注: ここで、-p はポートをホスト ポート 8080 にマッピングすることを示し、-d はコンテナをデーモン モードで実行することを示し、
ステップ 4: ホスト名でコンテナにアクセスする
最後に、ホスト名または IP アドレスを使用してコンテナにアクセスできます。コンテナのポートをホストのポート 8080 にマップしている場合は、次の方法でサービスにアクセスできます:
http://<hostname>:8080</p> <p> 注: <hostname> は、アクセスするコンピュータの名前または IP アドレスです。 。 </hostname></p> <ol start="2"><li>Docker ネットワークの使用</li></ol> <p>Docker は、ポート マッピングの使用に加えて、Docker ネットワークを使用したコンテナ内のサービスへのアクセスもサポートしています。 Docker ネットワークは、コンテナー間の通信を可能にし、コンテナーが外部コンピューターと簡単に通信できるようにするコンテナーのネットワークです。これを行う手順は次のとおりです。 </p> <p>ステップ 1: Docker ネットワークを作成する</p> <p>まず、Docker ネットワークを作成する必要があります。次のコマンドを使用してネットワークを作成できます: </p> <pre class="brush:php;toolbar:false">docker network create <network_name>
注:
ステップ 2: コンテナーを起動し、Docker ネットワークを使用する
次に、Docker ネットワークを使用してコンテナーを起動する必要があります。次のコマンドを使用してコンテナを起動し、作成したネットワークに接続できます:
docker run --name <container_name> --network <network_name> -d <image_name>
注: --name はコンテナの名前の指定を指し、--network はコンテナのネットワークの指定を指します、
ステップ 3: コンテナー名を使用してサービスにアクセスする
最後に、コンテナー名を使用してサービスにアクセスできます。コンテナーを Docker ネットワークに接続している場合は、コンテナー名を使用してサービスにアクセスできます。たとえば、コンテナ名 my_app のコンテナにアクセスしたい場合は、次を使用してサービスにアクセスできます。
http://my_app
注: Docker ネットワークはすでにサービスをサービスに公開しているため、ポート番号を指定する必要はありません。ローカルネットワーク。
結論
上記の方法でDockerのサービスにアクセスすることができます。ポート マッピングはサービスをパブリック ネットワークに公開するのに役立ち、Docker ネットワークはコンテナ内の他のサービスと通信するのに役立ちます。適切な方法の選択は、特定のニーズと状況によって異なります。 Docker を使用する場合は、セキュリティのベスト プラクティスに従い、コンテナーとサービスを攻撃から保護するようにしてください。
以上がDocker サービスにアクセスする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。