問題描述:
啟動docker並進行連接埠對映後,docker會在iptables中加入DNAT規則,將收到的對應埠的套件轉換ip並進行轉發,同時新增規則將所有來自docker網域的ip進行轉換。
但是在Centos7上出現docker可以正常存取外網,但是外網發出的請求在經過eth1接收轉發後送達不到docker0,或者送到卻出現(oui Unknown)的狀況。
解決方法如下:
啟動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教學
以上是外界訪問不到docker怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!