Docker サービスにアクセスする方法

PHPz
リリース: 2023-04-04 10:12:49
オリジナル
3435 人が閲覧しました

Docker は、ユーザーがアプリケーションを簡単に構築、公開、実行できるようにする人気のコンテナ化プラットフォームです。 Docker はさまざまなオペレーティング システム上で実行され、ほぼすべてのプログラミング言語で使用できます。 Docker ユーザーであれば、おそらく、ローカルの Docker コンテナーでアプリケーションを実行する方法をすでに知っているでしょう。ただし、実際の運用環境では、ネットワーク経由で外部にサービスを提供する方法を理解する必要があります。この記事では、Docker のサービスにアクセスする方法を説明し、Docker でポート マッピングとネットワークを使用する方法を示します。

  1. ポート マッピングの使用

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 はコンテナをデーモン モードで実行することを示し、 はアプリケーションを実行している Docker イメージの名前。

ステップ 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>
ログイン後にコピー

注: は、作成する Docker ネットワークの名前です。

ステップ 2: コンテナーを起動し、Docker ネットワークを使用する

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

docker run --name <container_name> --network <network_name> -d <image_name>
ログイン後にコピー

注: --name はコンテナの名前の指定を指し、--network はコンテナのネットワークの指定を指します、 は実行するコンテナの名前、 は使用する Docker ネットワークの名前、 はアプリケーションを実行する Docker イメージの名前です。

ステップ 3: コンテナー名を使用してサービスにアクセスする

最後に、コンテナー名を使用してサービスにアクセスできます。コンテナーを Docker ネットワークに接続している場合は、コンテナー名を使用してサービスにアクセスできます。たとえば、コンテナ名 my_app のコンテナにアクセスしたい場合は、次を使用してサービスにアクセスできます。

http://my_app
ログイン後にコピー

注: Docker ネットワークはすでにサービスをサービスに公開しているため、ポート番号を指定する必要はありません。ローカルネットワーク。

結論

上記の方法でDockerのサービスにアクセスすることができます。ポート マッピングはサービスをパブリック ネットワークに公開するのに役立ち、Docker ネットワークはコンテナ内の他のサービスと通信するのに役立ちます。適切な方法の選択は、特定のニーズと状況によって異なります。 Docker を使用する場合は、セキュリティのベスト プラクティスに従い、コンテナーとサービスを攻撃から保護するようにしてください。

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

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