1. 程式人生 > >Docker容器埠配置

Docker容器埠配置

1. 自動對映

# docker run -d -p 80 --name myweb 1311399350/myweb nginx -g "daemon off;"

上面的-p 80,將在docker主機上隨機開啟一個埠(可利用docker port命令檢視,或者docker ps也能看到,這裡是32768)對映到容器中的80埠上。

2. 指定對映

除了自動對映外,還可以指定對映關係,如:

# docker run -d -p 80:80 --name myweb 1311399350/myweb nginx -g "daemon off;"

# docker port myweb 80

0.0
.0.0:80

可以看出,宿主機的80埠對映到容器的80埠。這樣的指定有好有壞,好處是埠已知,需要小心使用;壞處是無法執行多個同樣的容器,而且容易與宿主機的應用衝突。

3. 公開dockerfile中EXPOSE指令指定的埠

我們在dockerfile中指定了容器暴露的埠或埠範圍

EXPOSE 20010
EXPOSE 10011

利用大寫的-P引數,將dockerfile中EXPOSE指令指定的埠(容器內埠)對本地宿主機公開,並隨機繫結到本地宿主機的埠上。

# docker run -d -P --name myweb 1311399350/myweb nginx -g "daemon off;"

使用# docker port container containre-port

,檢視容器對映的宿主機埠

# docker port myweb 80

0.0.0.0:32771

參考文章