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中文網docker教學欄位。
以上是docker連接埠映射到宿主機怎麼操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!