Docker-埠對映

abcjob發表於2021-09-09

Docker-埠對映

Docker埠對映

docker容器在啟動的時候,如果不指定埠對映引數,在容器外部是無法透過網路來訪問容器內的網路應用和服務的。

亦可使用Dockerfile檔案中的EXPOSE指令來配置。

埠對映可使用-p、-P來實現:

  • -p指定要對映的埠,一個指定埠上只可以繫結一個容器

  • -P將容器內部開放的網路埠隨機對映到宿主機的一個埠上

埠對映支援的格式:

ip:hostport:containerport #指定ip、指定宿主機port、指定容器portip::containerport #指定ip、未指定宿主機port(隨機)、指定容器porthostport:containerport #未指定ip、指定宿主機port、指定容器port

埠的對映有以下五種方法:

一、將容器暴露的所有埠,都隨機對映到宿主機上。

例如:(不推薦使用)

docker run -P -it ubuntu /bin/bash

二、將容器指定埠隨機對映到宿主機一個埠上。

例如:

docker run -P 80 -it ubuntu /bin/bash

以上指令會將容器的80埠隨機對映到宿主機的一個埠上。

三、將容器指定埠指定對映到宿主機的一個埠上。

例如:

docker run -p 8000:80 -it ubuntu /bin/bash

以上指令會將容器的80埠對映到宿主機的8000埠上。

四、將容器ip和埠,隨機對映到宿主機上。

docker run -P 192.168.0.100::80 -it ubuntu /bin/bash

以上指令會將容器的ip192.168.0.100和80埠,隨機對映到宿主機的一個埠上。

五、將容器ip和埠,指定對映到宿主機上。

docker run -p 192.168.0.100:8000:80 -it ubuntu /bin/bash

以上指令會將容器的ip192.168.0.100和80埠,對映到宿主機的8000埠。

示例:

#將nginx的80埠對映到宿主機的800埠上docker run -d -it -p 800:80 nginx

檢視對映埠配置

docker port container_ID #容器ID#結果輸出80/tcp -> 0.0.0.0:800



作者:木木mei錦
連結:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4798/viewspace-2805824/,如需轉載,請註明出處,否則將追究法律責任。

相關文章