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

主頁(yè) > 知識(shí)庫(kù) > docker端口映射及外部無(wú)法訪問(wèn)問(wèn)題

docker端口映射及外部無(wú)法訪問(wèn)問(wèn)題

熱門(mén)標(biāo)簽:南充電銷(xiāo)外呼系統(tǒng) 南昌外呼系統(tǒng)定制 株洲電銷(xiāo) 信陽(yáng)電銷(xiāo)外呼系統(tǒng)怎么樣 貴陽(yáng)網(wǎng)絡(luò)外呼系統(tǒng)軟件 海外工廠地圖標(biāo)注 陜西辦理400電話(huà) 地圖標(biāo)注小程序 宿州外呼系統(tǒng)公司

docker容器內(nèi)提供服務(wù)并監(jiān)聽(tīng)8888端口,要使外部能夠訪問(wèn),需要做端口映射。

docker run -it --rm -p 8888:8888 server:v1

此時(shí)出現(xiàn)問(wèn)題,在虛機(jī)A上部署后,在A內(nèi)能夠訪問(wèn)8888端口服務(wù),但是在B卻不能訪問(wèn)。

這應(yīng)該是由于請(qǐng)求被攔截。

一、查看firewall-cmd --state

如果輸出的是“not running”則FirewallD沒(méi)有在運(yùn)行,且所有的防護(hù)策略都沒(méi)有啟動(dòng),那么可以排除防火墻阻斷連接的情況了。

如果輸出的是“running”,表示當(dāng)前FirewallD正在運(yùn)行,需要再輸入下面的命令查看現(xiàn)在開(kāi)放了哪些端口和服務(wù):

firewall-cmd --list-ports
firewall-cmd --list-services

解決方案有兩種:

1.關(guān)閉FirewallD服務(wù):

如果您不需要防火墻,那直接關(guān)掉FirewallD服務(wù)就好了

systemctl stop firewalld.service

2.添加策略對(duì)外打開(kāi)指定的端口:

比如我們現(xiàn)在要打開(kāi)對(duì)外5000/tcp端口,可以使用下面的命令:

firewall-cmd --add-port=5000/tcp --permanent
firewall-cmd --reload

如果只是臨時(shí)打開(kāi)端口,去掉第一行命令中的“--permanent”參數(shù),那么當(dāng)再次重啟FirewallD服務(wù)時(shí),本策略將失效。

二、ip轉(zhuǎn)發(fā)沒(méi)有打開(kāi)

sysctl net.ipv4.ip_forward

顯示net.ipv4.ip_forward=0則表示未打開(kāi)。

三、service iptables打開(kāi)并攔截了

可關(guān)閉service iptables

service iptables stop

若docker run時(shí)出現(xiàn)錯(cuò)誤:

iptables: No chain/target/match by that name.

則只需重啟docker服務(wù)即可

service docker restart

 或者:

#設(shè)置iptables防火墻為開(kāi)機(jī)啟動(dòng)項(xiàng) 
systemctl enable iptables.service

#啟動(dòng)防火墻使配置文件生效 
systemctl start iptables.service

#停止防火墻 
systemctl stop iptables.service

#重啟防火墻使配置文件生效 
systemctl restart iptables.service

最終版本:

啟動(dòng)docker并進(jìn)行端口映射后,docker會(huì)在iptables中添加DNAT規(guī)則,將收到的對(duì)應(yīng)端口的包轉(zhuǎn)換ip并進(jìn)行轉(zhuǎn)發(fā),同時(shí)添加規(guī)則將所有來(lái)自docker網(wǎng)域的ip進(jìn)行轉(zhuǎn)換。

但是在Centos7上出現(xiàn)docker可以正常訪問(wèn)外網(wǎng),但是外網(wǎng)發(fā)出的請(qǐng)求在經(jīng)過(guò)eth1接收轉(zhuǎn)發(fā)后送達(dá)不到docker0,或者送到卻出現(xiàn)(oui Unknown)的狀況。暫時(shí)不清楚這到底是為什么經(jīng)過(guò)DNAT后無(wú)法送達(dá)docker0.

最終解決辦法是在啟動(dòng)docker后,重啟iptables

service iptables restart

清空docker添加的所有規(guī)則,而后添加規(guī)則

iptables -t nat -A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE

將所有來(lái)自docker的包172.17.0.0/16的ip替換為本機(jī)ip并發(fā)送,以達(dá)到docker訪問(wèn)外網(wǎng)的目的。

到此這篇關(guān)于docker端口映射及外部無(wú)法訪問(wèn)問(wèn)題的文章就介紹到這了,更多相關(guān)docker端口映射及外部訪問(wèn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:石嘴山 晉城 玉林 開(kāi)封 拉薩 汕頭 三明 鄭州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《docker端口映射及外部無(wú)法訪問(wèn)問(wèn)題》,本文關(guān)鍵詞  docker,端口,映射,及,外部,;如發(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端口映射及外部無(wú)法訪問(wèn)問(wèn)題》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于docker端口映射及外部無(wú)法訪問(wèn)問(wèn)題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 长春市| 孟连| 寿光市| 鹿泉市| 方山县| 忻城县| 铜山县| 孝义市| 莆田市| 若羌县| 长岛县| 瓦房店市| 霍城县| 新昌县| 齐齐哈尔市| 波密县| 乌鲁木齐市| 济南市| 济源市| 射洪县| 庆云县| 溧水县| 县级市| 山阴县| 萝北县| 阳高县| 彰化县| 安陆市| 铁力市| 资溪县| 江源县| 丁青县| 绥中县| 雷州市| 巴南区| 同江市| 香河县| 永新县| 太湖县| 隆尧县| 赫章县|