ホームページ > 運用・保守 > Docker > Docker がポート マッピングを実行する方法

Docker がポート マッピングを実行する方法

PHPz
リリース: 2023-04-04 13:57:18
オリジナル
21976 人が閲覧しました

コンテナ化テクノロジとして、Docker はアプリケーションとそれに必要なすべてのリソースをミラーにパッケージ化するのに役立ち、デプロイと管理が容易になります。ポート マッピングは Docker の非常に重要な機能です。私たちのアプリケーションは、この記事では、Docker がポート マッピングを実行する方法を紹介します。

1. ポート マッピングの概念

Docker コンテナ内のアプリケーションは、ホストでネットワーク リクエストを処理するためにリッスンするポート番号にバインドする必要があり、ポート マッピングはコンテナ内のポート番号は、外部ネットワークからコンテナ内のアプリケーションにアクセスできるように、ホストのポート番号にマッピングされます。ポート マッピングは、ランダム モードと指定モードの 2 つのモードに分けることができます。 。

2. ランダム モード

ランダム モードでは、Docker はホスト上の空いているポート番号を自動的に選択し、コンテナ内の指定されたポートにマッピングします。ポート マッピングを docker で実行するだけです。コマンドに -p パラメータを追加することで実行できます 具体的なコマンドは次のとおりです:

$ docker run -p [宿主机端口]:[容器内部端口] image_name
ログイン後にコピー
ログイン後にコピー

このうち、ホストポートはランダムなポート番号にすることができます このとき、docker コマンドを使用できますps でマップされたポート番号を表示します。

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
c1abd02665a3        nginx               "nginx -g 'daemon of…"   3 hours ago         Up 3 hours          0.0.0.0:32768->80/tcp   nginx
ログイン後にコピー

ご覧のとおり、ポート番号 32768 は、Docker によってランダムにマッピングされたホスト ポート番号です。

3. 指定モード

指定モードでは、ホスト上のポート番号を指定して、コンテナ内のポート番号にマッピングできます。これは、運用環境でのデプロイメントにより適しています。 , マッピングするコンテナごとに異なるポート番号を指定できるため、ポート番号の管理と維持が容易になります。具体的なコマンドは次のとおりです:

$ docker run -p [宿主机端口]:[容器内部端口] image_name
ログイン後にコピー
ログイン後にコピー

その中で、ホスト ポートは使用可能な任意のポート番号を指定できます。 80、443 などのポート番号。

4. コンテナの内部ポートの指定

ポートマッピングを行う場合、コンテナ内のポート番号を指定する必要があります。指定されていない場合、Docker はコンテナが監視しているポート番号を使用します。コンテナ内のアプリケーション。デフォルトのポート番号がマッピングされます。たとえば、ポート 80 は HTTP サービスに対応します。ポート 80 をホストのポート 8080 にマッピングする場合は、次のコマンドを使用してポート マッピングを実行できます。 ##

$ docker run -p 8080:80 image_name
ログイン後にコピー
このようにして、ホストのポート 8080 を使用して、コンテナ内の HTTP サービスにアクセスできます。

5. 概要

ポート マッピングは Docker の非常に重要な機能であり、コンテナ内のアプリケーションをホスト ネットワークに公開して、簡単にアクセスして管理できるようにするのに役立ちます。ポート マッピングはランダム モードまたは指定モードで実行できますが、ポート マッピングをより柔軟に構成できるように、コンテナの内部ポートの仕様に注意を払う必要があります。

以上がDocker がポート マッピングを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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