体育外围

當前位置: 首頁 > Linux運維 > Docker > 解決CentOS 8 Docker容器無法上網的問題

解決CentOS 8 Docker容器無法上網的問題

發布于:2020-11-28 Docker 2條評論 4,706 views
如需VPS代購、PHP開發、服務器運維等服務,請聯系博主QQ:337003006

CentOS 8已經發行好長一段時間,為了嘗鮮在Online獨服上安裝了CentOS 8系統,隨之問題來了,發現Docker容器無法訪問外網,而CentOS 7上則不存在這個問題。

排錯分析

一開始懷疑是Docker DNS設置問題,導致Docker容器無法解析。遂修改配置文件/etc/docker/daemon.json設置DNS:

{
  "dns" : [
    "8.8.8.8",
    "1.1.1.1"
  ]
}

修改后重啟Docker服務,發現Docker容器還是無法聯網。

解決辦法

通過搜索了解到CentOS 8上防火墻發生了一些變化,防火墻原來使用iptables,現在使用nftables,猜測可能是轉發引起的問題。通過搜索終于在Github上找到類似的情況:,解決辦法為:

編輯firewalld配置文件/etc/firewalld/firewalld.conf,將:

FirewallBackend=nftables

修改為:

FirewallBackend=iptables

并重啟Firewalld:systemctl restart firewalld.service

最后再重啟下Docker:systemctl restart docker,驗證問題解決。

總結

  1. 可通過修改/etc/docker/daemon.json設置Docker DNS
  2. CentOS 8防火墻由iptables變更為了nftables
  3. 可通過修改Firewalld配置文件/etc/firewalld/firewalld.confnftables換回iptables

2 條評論 “解決CentOS 8 Docker容器無法上網的問題”

  1. Kojikaww說道:

    哈哈 我也遇到了 我是直接 使用host網絡解決

    1. xiaoz說道:

      我用host網絡也不行,看來兼容性還有問題。

發表評論