Docker を使用すると、コンテナへの外部アクセスやコンテナ間の相互接続を通じてネットワーク サービスを提供できます。コンテナーの起動後、一部のネットワーク アプリケーションをコンテナー内で実行でき、ポート マッピングは -p または -P パラメーターで指定されます。
1) コンテナーを起動するときに、コンテナー内の開いているポートにマッピングするポートを選択します。
-p 小文字の p は、Docker がオープン ネットワーク ポートにマッピングする特定のホスト ポートを選択することを意味しますコンテナ上部の内部。
-P 大文字の P は、Docker がホスト ポートをランダムに選択し、コンテナ内のオープン ネットワーク ポートにマッピングすることを意味します。
[root@docker-test ~]# docker run -ti -d --name my-nginx -p 8088:80 docker.io/nginx 2218c7d88ccc917fd0aa0ec24e6d81667eb588f491d3730deb09289dcf6b8125 [root@docker-test ~]# docker run -ti -d --name my-nginx2 -P docker.io/nginx 589237ceec9d5d1de045a5395c0d4b519acf54e8c09afb07af49de1b06d71059 [root@docker-test ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 589237ceec9d docker.io/nginx "nginx -g 'daemon ..." 6 seconds ago Up 5 seconds 0.0.0.0:32770->80/tcp my-nginx2 2218c7d88ccc docker.io/nginx "nginx -g 'daemon ..." About a minute ago Up About a minute 0.0.0.0:8088->80/tcp my-nginx
上記からわかります:
コンテナー my-nginx を開始するときに -p を使用し、ホスト マシンの特定の 8088 ポートを選択し、それをコンテナ内の 80 ポートにマップします。コンテナーにアクセスします。http://localhost/8088 で十分です
コンテナー my-nginx2 を開始するときに -P を使用し、ホストのランダムなポートを選択し、コンテナー内のポート 80 にマッピングします。ここでのランダムなポートはは 32770 です。http://localhost/32770
にアクセスしてください。関連チュートリアルの詳細については、PHP 中国語 Web サイトの dockertutorial 列に注目してください。
以上がDockerポートをホストマシンにマッピングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。