CentOS開啟防火牆后,外網無法通過宿主機IP + 端口訪問Docker容器的解決辦法


問題表現
Docker容器開啟的服務,CentOS內部可以訪問,用curl  http://127.0.0.1:8011 可以訪問。
CentOS的IP,外網可以正常Ping通。
容器對外端口,外網無法Telnet通。
外網無法訪問Docker容器網站。


原因
CentOS防火牆的原因,需要允許NAT轉發。

 

解決辦法

前提是CentOS虛擬機網絡要用橋接模式,讓虛擬機IP保持跟縮主機同一段IP。


設置防火牆允許NAT轉發。

firewall-cmd --zone=public --add-masquerade --permanent

 

把docker0網卡添加到trusted域

firewall-cmd --permanent --zone=trusted --change-interface=docker0

 

防火牆開放容器端口,假如容器對外暴露的端口是8011,那么防火牆要開放這個端口

firewall-cmd --add-port=8011/tcp --permanent

 

然后重啟防火牆、重啟Docker,重啟容器,就可以外網訪問Docker網站了。 

firewall-cmd --reload
systemctl restart docker
docker start 容器名

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM