Docker容器埠配置
阿新 • • 發佈:2019-01-02
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