婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > docker容器啟動(dòng)后添加端口映射

docker容器啟動(dòng)后添加端口映射

熱門(mén)標(biāo)簽:如何分析地圖標(biāo)注 撫順地圖標(biāo)注 新余高德地圖標(biāo)注怎么修改 外呼系統(tǒng)坐席費(fèi)計(jì)入會(huì)計(jì)哪個(gè)科目 達(dá)亞電銷(xiāo)機(jī)器人官網(wǎng) 高德地圖標(biāo)注好做嗎 電銷(xiāo)機(jī)器人怎么接線路 大連400電話如何申請(qǐng) 電銷(xiāo)機(jī)器人價(jià)值

概要

網(wǎng)上有許多人在查找關(guān)于容器啟動(dòng)后能否進(jìn)行端口映射的問(wèn)題。我曾經(jīng)也問(wèn)過(guò)度娘,很遺憾我沒(méi)找到。本文就這個(gè)問(wèn)題給出一個(gè)解決方法,旨在拋磚引玉。本文的思路是使用iptables的端口轉(zhuǎn)發(fā),這也是docker端口映射內(nèi)部的實(shí)現(xiàn)機(jī)制,只不過(guò)我是顯示地寫(xiě)出來(lái)罷了,為的就是讓查找這個(gè)問(wèn)題的人對(duì)docker的端口映射有一個(gè)直觀的了解。

結(jié)論:容器啟動(dòng)后是可以添加端口映射的,但不建議手工添加,最好使用docker提供的功能。

步驟

創(chuàng)建兩個(gè)容器并進(jìn)行了端口映射,結(jié)果如圖所示:

假如,我start一個(gè)容器,其內(nèi)部IP為172.17.0.5,并在容器內(nèi)部啟動(dòng)了80端口。

FORWARD規(guī)則鏈我們不用管它,docker已經(jīng)幫我們寫(xiě)好了,我們只需要關(guān)心NAT中的幾條鏈即可。

查看NAT表中的PREROUTING鏈

從上面可以看出,iptables將滿足條件的數(shù)據(jù)都轉(zhuǎn)發(fā)到了DOCKER鏈上去了。

查看NAT表中的DOCKER鏈

仿照上圖,我們添加一條自己的映射規(guī)則,將宿主的8082端口映射到172.17.0.5的80端口上去,規(guī)則如下:

iptables -t nat -A DOCKER ! -i docker0 -p tcp -m tcp --dport 8082 -j DNAT --to-destination 172.17.0.5:80

查看NAT表中的POSTROUTING鏈

仿照上圖中的規(guī)則,書(shū)寫(xiě)的規(guī)則如下:

iptables -t nat -A POSTROUTING -s 172.17.0.5/32 -d 172.17.0.5/32 -p tcp -m tcp --dport 80 -j MASQUERADE

查看FILTER表中的DOCKER鏈

仿照上圖書(shū)寫(xiě)規(guī)則如下:

 iptables -t filter -A DOCKER -d 172.17.0.5/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 80 -j ACCEPT

結(jié)果

雖然IP為172.17.0.5的容器沒(méi)有開(kāi)啟端口映射,如下圖所示:

但我們依然能夠通過(guò)訪問(wèn)宿主機(jī)(192.168.78.238)的8082端口來(lái)訪問(wèn)172.17.0.5的80端口,效果如下:

使用此方法有一個(gè)缺點(diǎn),不能訪問(wèn)localhost:8082,也就是說(shuō)如果想對(duì)localhost也進(jìn)行轉(zhuǎn)發(fā),需要進(jìn)行額外的配置。

結(jié)論

建議大家不要像我這樣去做端口映射,我這么做只是為了闡述標(biāo)題。

如果大家在容器中添加了一些東西,并開(kāi)啟了端口,同時(shí)呢,又想多復(fù)制幾個(gè)這樣的容器。建議大家把容器提交成鏡像,然后使用docker提供的端口映射功能。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:新鄉(xiāng) 海東 黃石 衡水 遼源 南通 湖南 楊凌

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《docker容器啟動(dòng)后添加端口映射》,本文關(guān)鍵詞  docker,容器,啟動(dòng),后,添加,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《docker容器啟動(dòng)后添加端口映射》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于docker容器啟動(dòng)后添加端口映射的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 青神县| 监利县| 辽源市| 泸定县| 苍溪县| 丹东市| 铅山县| 北宁市| 仁化县| 桐庐县| 昌宁县| 子长县| 枣强县| 新干县| 万州区| 水富县| 康乐县| 新昌县| 绥阳县| 宜宾市| 镇安县| 邻水| 靖安县| 车致| 宁安市| 正镶白旗| 马公市| 定结县| 昌乐县| 临邑县| 静宁县| 虎林市| 巴彦淖尔市| 西安市| 中宁县| 比如县| 汝南县| 晋江市| 廊坊市| 台东县| 威远县|