Docker 容器內沒法經過 HTTP 訪問外網

現象

  • 內/外網 IP 和 域名 能夠 ping 通
  • 容器內沒法訪問宿主機所在內網及外網的 Web 服務(404)
  • 經過 curl 查看返回頭信息感受是全部 Web 請求被中轉到一個固定的 Nginx 服務器
  • 全部容器(包括新建立的)均出現以上問題

分析

  • 經過 docker run --net host 建立的容器不存在上述的問題
  • docker run 默認使用 bridge 橋接網絡,初步判斷是 bridge 設置問題
  • 經過 自定義網橋 也未解決問題
  • 最終懷疑是宿主機上的橋接網卡 docker0 的問題

解決

經過重建 docker0 網絡解決問題docker

$ sudo service docker stop $ sudo pkill docker $ sudo iptables -t nat -F $ sudo ifconfig docker0 down $ sudo brctl delbr docker0 $ sudo service docker start

其暫時解決了問題。服務器

相關文章
相關標籤/搜索