91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么在docker中進行端口映射

發布時間:2021-01-19 14:34:22 來源:億速云 閱讀:382 作者:Leah 欄目:開發技術

怎么在docker中進行端口映射?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

docker容器內提供服務并監聽8888端口,要使外部能夠訪問,需要做端口映射。

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

此時出現問題,在虛機A上部署后,在A內能夠訪問8888端口服務,但是在B卻不能訪問。

這應該是由于請求被攔截。

一、查看firewall-cmd --state

如果輸出的是“not running”則FirewallD沒有在運行,且所有的防護策略都沒有啟動,那么可以排除防火墻阻斷連接的情況了。

如果輸出的是“running”,表示當前FirewallD正在運行,需要再輸入下面的命令查看現在開放了哪些端口和服務:

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

解決方案有兩種:

1.關閉FirewallD服務:

如果您不需要防火墻,那直接關掉FirewallD服務就好了

systemctl stop firewalld.service

2.添加策略對外打開指定的端口:

比如我們現在要打開對外5000/tcp端口,可以使用下面的命令:

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

如果只是臨時打開端口,去掉第一行命令中的“--permanent”參數,那么當再次重啟FirewallD服務時,本策略將失效。

二、ip轉發沒有打開

sysctl net.ipv4.ip_forward

顯示net.ipv4.ip_forward=0則表示未打開。

三、service iptables打開并攔截了

可關閉service iptables

service iptables stop

若docker run時出現錯誤:

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

則只需重啟docker服務即可

service docker restart

 或者:

#設置iptables防火墻為開機啟動項 
systemctl enable iptables.service

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

#停止防火墻 
systemctl stop iptables.service

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

最終版本:

啟動docker并進行端口映射后,docker會在iptables中添加DNAT規則,將收到的對應端口的包轉換ip并進行轉發,同時添加規則將所有來自docker網域的ip進行轉換。

但是在Centos7上出現docker可以正常訪問外網,但是外網發出的請求在經過eth2接收轉發后送達不到docker0,或者送到卻出現(oui Unknown)的狀況。暫時不清楚這到底是為什么經過DNAT后無法送達docker0.

最終解決辦法是在啟動docker后,重啟iptables

service iptables restart

清空docker添加的所有規則,而后添加規則

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

將所有來自docker的包172.17.0.0/16的ip替換為本機ip并發送,以達到docker訪問外網的目的。

關于怎么在docker中進行端口映射問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

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

AI

汝南县| 昌吉市| 芜湖市| 邵阳县| 洞口县| 满城县| 昌江| 铅山县| 宜兰县| 宜章县| 南投市| 茌平县| 蓝山县| 太白县| 福清市| 社旗县| 瑞丽市| 霍城县| 怀柔区| 托克托县| 宜丰县| 禹城市| 芜湖市| 英德市| 临安市| 高碑店市| 黔西| 房山区| 娄底市| 泗水县| 历史| 江永县| 海门市| 台东市| 浦北县| 兴化市| 锦州市| 罗江县| 莎车县| 长春市| 平阳县|