コンテナ化テクノロジとして、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 サイトの他の関連記事を参照してください。