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


 發布於:2020-11-28  Docker  2條評論  3,051 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上找到類似的情況:DNS Not Resolving under Network [CentOS8],解決辦法為:

編輯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


免責聲明!

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



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