目次
2. -p を使用して、マッピング先のローカル ポートを指定します。
Local_Port:Container_Port、任意のアドレスの指定されたポート
Local_IP:Local_Port:Container_Port は、指定されたアドレスの指定されたポートにマップされます。
Local_IP::Container_Port は指定されたアドレスにマッピングされますが、ホスト ポートはランダムに割り当てられます
詳細な Docker ポート マッピング
1. ポートマッピングの概要:
Dockerではデフォルトではコンテナは外部と通信できないため、コンテナが外部と通信できるようにするには起動コマンドに対応するパラメータを追加する必要があります。
Docker で Web サービスを実行する場合、コンテナ内の Web サービス アプリケーションのポートをローカル ホストのポートにマッピングする必要があります。このように、ユーザーがホストマシンで指定されたポートにアクセスすると、コンテナ内のWebサービスポートにアクセスすることと同じになります。
2. ケース実験:
1. -P オプション、ランダムポート
-P オプションを使用する
[root@docker ~]# docker run -d -P --name nginx-test1 nginx
docker ポートを使用してポート マッピングを表示する
[root@docker ~]# docker port nginx-test1
アクセステスト: 192.168.100.131:32768
[root@docker ~]# docker ログ nginx-test1
マッピングされたランダムなポート範囲を表示する
[root@docker ~]#
cat /proc/sys/net/ipv4/ip_local_port_range
2. -p を使用して、マッピング先のローカル ポートを指定します。
Local_Port:Container_Port、任意のアドレスの指定されたポート
ポート マッピング パラメーターは、ホストの 8000 がコンテナー内のポート 80 にマップされることを指定し、-p オプションは複数回使用できます。
[root@docker ~]# docker run -d -p 8000:80 --name nginx-test2 nginx
アクセステスト: 192.168.100.131:8000
このメソッドはすべてのインターフェイス アドレスにマップされ、すべての訪問者はホストのすべての IP ポートを介してコンテナにアクセスできます。
次のように: ホストの現在の IP アドレスを表示します。
アクセステスト: 192.168.59.153:8000
Local_IP:Local_Port:Container_Port は、 指定されたアドレスの指定されたポートにマッピングされます。
[root@docker ~]# docker run -d -p
192.168.100.131:9000:80 --name nginx-test3 nginx
アクセステスト: 192.168.100.131:9000
アクセステスト: 192.168.59.153:9000
Local_IP::Container_Port は 指定されたアドレスにマッピングされますが、ホスト ポートはランダムに割り当てられます
[root@docker ~]# docker run -d -p 192.168.100.131::80 --name nginx-test4 nginx
[root@docker ~]# docker port nginx-test4
アクセステスト: 192.168.100.131:32770
3. トランスポートプロトコルを指定します: TCP
[root@docker ~]# docker run -d -p 80:80/tcp --name nginx-test5 nginx
[root@docker ~]# docker port nginx-test5
アクセステスト: 192.168.100.131:80