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
推薦教程:《docker教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦