centos7 firewalld导致docker网络异常

2023-05-16

centos7 自带防火墙是firewalld。在某下情况下可能导致docker 的某些网络问题。
docker 有4种网络模式:
1.bridge模式(默认):网桥模式,通过虚拟网桥使容器通信。容器有自己的独立ip和端口。
2.host模式:主机模式,与主机共用一个网络,容器ip是主机的ip,端口占用主机的端口范围。
3.container模式:与指定容器共享一个网络,类似host模式,但是是两个容器间共用一个ip。
4.none模式:无网络模式,容器有自己的内部网络,但是没有分配ip,路由等信息,需要自己分配。

默认是bridge 网桥模式,docker会在宿住机配置一个虚拟网卡,并将容器连接到该网卡,而docker网络与宿住机外部网络的通信,是借助nat来实现的。所以当Iptable出现问题时,就会导致docker容器网络异常

查看firewalld 日志

tail -10 /var/log/firewalld

在日志中可以看到一些警告信息,是docker添加的nat规则,但是因为chain不存在,所以添加失败。一般情况下是没有什么问题,但是某些情况,比如容器内需要访问宿住机的服务,则可能出现问题。

2019-10-12 17:21:43 WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -X DOCKER-ISOLATION' failed: iptables: No chain/target/match by that name.

2019-10-12 17:21:43 WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP' failed: iptables: Bad rule (does a matching rule exist in that chain?).

2019-10-12 17:21:43 WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i br-7407bd71b6f0 -o br-7407bd71b6f0 -j DROP' failed: iptables: Bad rule (does a matching rule exist in that chain?).

解决方案:

1.修改docker网络模式为host

在运行容器时添加参数 --net=host,但是不能从根本上解决问题。

docker run -d --net=host --name redis redis

2.将firewalld换成iptables(推荐)

#查看firewalld是否启用
systemctl status firewalld
#停止firewalld
systemctl stop firewalld
#禁用firewalld(否则重启系统后会再次启动)
systemctl disable firewalld
#查看是否安装iptables
yum list installed | grep iptables-services
#如果没安装则安装下
yum install iptables-services -y
#重启iptables
systemctl restart iptables
#设置开机自启
systemctl enable iptables
#重启docker
systemctl restart docker

3.关闭防火墙

不推荐,特别是在生产环境

#查看firewalld是否启用
systemctl status firewalld
#停止firewalld
systemctl stop firewalld
#禁用firewalld(否则重启系统后会再次启动)
systemctl disable firewalld
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

centos7 firewalld导致docker网络异常 的相关文章

随机推荐

  • 浅谈 前缀编码与哈夫曼编码

    目录 关于编码的两个概念 xff1a 1 前缀编码 1 1 前缀编码概念 1 2 前缀编码实例分析 xff08 简洁易懂 xff09 1 3 前缀编码作用 2 哈夫曼编码 2 1 哈夫曼编码概念 2 2 哈夫曼编码的两条性质 2 3 哈夫曼
  • Visual Studio2022创建setup项目

    Visual Studio2022创建setup项目 安装Setup Project方法 xff1a Visual Studio2022 gt 工具 gt 获取工具和功能 T gt 单个组件 xff0c 搜索 Microsoft Visua
  • OpenCV学习笔记二

    图像操作 获取像素值 xff1a 单通道 gray src span class token punctuation span at span class token operator lt span uchar span class to
  • OpenCV学习笔记三

    形态学操作应用 腐蚀 xff1a 跟卷积操作类似 xff0c 结构元素B在图像A上面移动 xff0c B定义其中心为锚点 xff0c 计算B覆盖下A的uida像素值用来替换锚点的像素 膨胀 xff1a 与膨胀过程类似 xff0c 不同的是以
  • OpenCV学习笔记四

    金字塔概念 xff1a 一个图像金字塔是一系列的图像组成 xff0c 最底下一张是图像尺寸最大 xff0c 最上方是图像尺寸最小 高斯金字塔 用来队图像进行降采样从底向上 xff0c 逐层采样得到 xff1b 降采样之后图像大小是原图像MN
  • Android修改SharePreference路径

    ContextImpl里面有一个字段mPreferencesDir xff0c 这个文件目录就是保存了SharePreference路径的 xff0c 只需要修改这个为我们自定义的路径就好了 xff0c 由于ContextImpl是一个隐藏
  • 安卓setContentView

    首先进入activity中找到setContentView方法 xff1a public void setContentView 64 LayoutRes int layoutResID getWindow setContentView l
  • 安卓9.0沉浸式状态栏

    首先我们来了解一下几个设置沉浸式状态栏的基础属性 xff1a 1 View SYSTEM UI FLAG LOW PROFILE xff1a 低调模式 会隐藏不重要的状态栏图标 xff1b 2 View SYSTEM UI FLAG HID
  • 安卓Service生命周期

    官方说明图 startService xff1a 开启一个Service且Service生命周期只与自身有关 xff0c 当调用stopService或者stopSelf时停止 如果多次调用startService xff0c 只有第一次会
  • 阿里2014年校园题目最后一题答案及证明

    该题目来自cdsn的一位网友 xff08 可见http blog csdn net thebestdavid article details 11975809 xff09 xff0c 具体内容如下 xff1a 在黑板上写下50个数字 xff
  • 编程——两种list的翻转方法

    对于题目相信大家都比较熟悉了 xff0c 下面就直接上代码了 xff0c 其中没有给出list的creat函数 xff0c 有兴趣的同学可以自己实现 1 模板node的定义 template lt class T gt class TNod
  • 数组旋转新方法

    题目 xff1a 对一个int数组进行左右任意长度的旋转 xff0c 如 xff1a 原始数组为 1 2 3 4 5 xff0c 左旋两位 xff08 可用 2表示 xff09 得 3 4 5 1 2 xff0c 右旋两位 xff08 可用
  • 常见Linux shell脚本中的“-e -d -f -eq -ne -gt -ge”操作符的含义

    常见shell脚本中的 e d f eq ne gt ge 操作符的含义 xff1a 文件表达式 e filename xff1a 如果filename存在 xff0c 则为真 d filename xff1a 如果filename为目录
  • 基于注解的spring源码解析之总体流程

    基于注解的spring源码解析1 总体流程 总体流程图 Demo代码 span class token keyword public span span class token keyword class span span class t
  • Android ViewBinding 替换 findViewById 的神器

    ViewBinding中文官网 ViewBinding 的出现就是为了替代 findViewById 的 以前我们写完布局后就要在代码中使用 findViewById 方法找到 xml 文件中对应的 view xff0c 这样耗时费力 xf
  • 套接字选项(SO_RCVBUF和SO_SNDBUF)

    有时候我们需要控制套接字的行为 如修改缓冲区的大小 这个时候我们就要学习套接字选项 int getsockopt int sockfd int level int optname void optval socklen t optlen i
  • 欢迎使用CSDN-markdown编辑器

    欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来 xff0c 用它写博客 xff0c 将会带来全新的体验哦 xff1a Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传
  • 工作一年,辞职复习半年,考杭电计算机的经验分享

    工作一年 xff0c 辞职复习半年 xff0c 考杭电计算机的经验分享 如果 xff0c 毕业了工作顺利的人大概率是不会去考研的 xff0c 去考研的人 xff0c 大概率是想改变的 题记 2019 4 6 关于我 纠结的人生 为什么考研
  • ICPR-2018-OCR笔记

    2018年第24届国际模式识别大会International Conference on Pattern Recognition ICPR 在北京国家会议中心召开 xff0c 会议从8月20日到24日持续1周时间 有阿里的读光平台的介绍 x
  • centos7 firewalld导致docker网络异常

    centos7 自带防火墙是firewalld 在某下情况下可能导致docker 的某些网络问题 docker 有4种网络模式 xff1a 1 bridge模式 xff08 默认 xff09 xff1a 网桥模式 xff0c 通过虚拟网桥使