溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Docker如何暴露Container容器的端口

發(fā)布時間:2020-11-26 14:48:56 來源:億速云 閱讀:329 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹使用Docker如何暴露Container容器的端口,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

查看Container的IP地址

docker inspect <container name or id>| grep IPAddress

查看Container的映射的端口

docker port <container name or id>
eg.
docker port d8dac7399647
docker port hfq-jedi-zxf-eden

用iptables查看容器映射情況

iptables -t nat -nvL

iptables -t nat -nvL --line-number

舉例新增端口的映射

##將主機31101 映射到 容器 6379端口

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 31101 -j DNAT --to-destination 192.168.42.2:6379

保存iptables規(guī)則

iptables-save

說明

192.168.42.2 是根據(jù) docker inspect <container name or id>| grep IPAddress 的結(jié)果

端口映射完畢后,不能通過docker port d8dac7399647查詢到結(jié)果

可以通過

iptables -t nat -nvL | grep 192.168.42.2

查詢 映射關(guān)系

補充知識:docker容器通信和端口暴露問題中的機制

一直以來用docker容器間通信都是使用的link的方式,這就限制各個容器啟動的前后順序,總感覺很不靈活,因此這次探索了一下直接通過docker自帶網(wǎng)卡分配的局域網(wǎng)來進行容器間的訪問。

docker的端口暴露指的是,經(jīng)過docker0這個網(wǎng)卡的轉(zhuǎn)發(fā),將容器本身的端口服務轉(zhuǎn)發(fā)到暴露端口上,比如執(zhí)行:

docker run -dit -p 8080:12345 --name=container_name image_name

使用docker0網(wǎng)卡分配的172.17.0.x這個局域網(wǎng)訪問的時候,使用12345端口。在使用192.168.1.x或其他本機公網(wǎng)ip訪問的時候,就是要用8080來訪問了

關(guān)于使用Docker如何暴露Container容器的端口就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI