解决CentOS 8 Docker容器无法上网的问题
2024-08-26 20:56:55
发布于: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
,验证问题解决。
总结
- 可通过修改
/etc/docker/daemon.json
设置Docker DNS - CentOS 8防火墙由
iptables
变更为了nftables
- 可通过修改Firewalld配置文件
/etc/firewalld/firewalld.conf
将nftables
换回iptables
最新文章
- Javascript常用正则表达式汇总
- FastReport中文网
- eclipse关掉jsp,js的语法验证
- pstree命令
- js方法中的this
- redhat6.3+oracle11GR2 单库 安装规划
- 安卓开发-使用XML菜单布局简单介绍
- Redis 部署主从哨兵 C#使用,实现自动获取redis缓存 实例2
- javascript加RoR实现JSONP
- oracle根据某个字段的值进行排序
- 如何用命令行刷新,启用,禁用Magento2的缓存
- apc
- [十二省联考2019]异或粽子 (可持久化01tire 堆)
- Signing Your Applications(Android签名相关)
- Delphi 获取命令行输出的函数
- linux下更换pip源
- ASP.NET MVC+Bootstrap 实现短信验证
- VS2015 MSVCRTD.lib(_chandler4gs_.obj) : error LNK2019: unresolved external symbol __except_handler4_common referenced in function __except_handler4
- 智能客服 利用python运行java代码
- springboot 监控