首頁 >運維 >Docker >docker在哪裡配置連接埠?

docker在哪裡配置連接埠?

coldplay.xixi
coldplay.xixi原創
2020-06-19 09:33:103977瀏覽

docker在哪裡配置連接埠?

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教學

以上是docker在哪裡配置連接埠?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn