linux开启防火墙后,Docker容器启动报错:ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule 解决办法

这篇具有很好参考价值的文章主要介绍了linux开启防火墙后,Docker容器启动报错:ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule 解决办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、错误场景和现象

2、原因分析

3、解决办法


1、错误场景和现象

linux开启或重启防火墙后,创建docker自定义网络时

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 frayernet

报错:[root@VM-16-5-centos home]# docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 frayernet
Error response from daemon: Failed to Setup IP tables: Unable to enable SKIP DNAT rule:  (iptables failed: iptables --wait -t nat -I DOCKER -i br-3d8c7623fb81 -j RETURN: iptables: No chain/target/match by that name.
 (exit status 1))

如下:

[root@VM-16-5-centos home]# docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 frayernet
Error response from daemon: Failed to Setup IP tables: Unable to enable SKIP DNAT rule:  (iptables failed: iptables --wait -t nat -I DOCKER -i br-3d8c7623fb81 -j RETURN: iptables: No chain/target/match by that name.
 (exit status 1))

2、原因分析

Docker属于容器化技术,如果宿主机防火墙的状态发生了改变,Docker就无法设置容器的IP了

测试尝试启动一个已经存在的mysql容器,

[root@VM-16-5-centos conf]# docker start c092

同样会出现错误:

Error response from daemon: driver failed programming external connectivity on endpoint mysql5.7-cdcs-cd (ac43ff409d232efe3eace11b5f2b9d08b8f98c949e7fb43323bc289240560e38):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 -j DNAT --to-destination 172.17.0.3:3306 ! -i docker0: iptables: No chain/target/match by that name.
 (exit status 1))
Error: failed to start containers: c092

3、解决办法

输入命令service docker restart重启以下Docker即可文章来源地址https://www.toymoban.com/news/detail-525362.html

[root@VM-16-5-centos home]# service docker restart

到了这里,关于linux开启防火墙后,Docker容器启动报错:ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule 解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux(centos7)常用命令 开启关闭防火墙

    在 CentOS 7 中,默认的防火墙服务是 firewalld ,它取代了之前版本中的 iptables 。 firewalld 使用了名为“firewall-cmd”的命令行工具来管理防火墙规则。 firewalld 的关键概念包括: 区域 (Zones) : 用于定义不同信任级别的网络连接。你可以为不同的网络接口或来源 IP 分配不同的区域,

    2024年01月21日
    浏览(60)
  • Linux Centos7 防火墙(开启、关闭、重启、状态、端口)

    防火墙(Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。 防火墙功能 防火墙对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免

    2024年02月02日
    浏览(57)
  • Ubuntu----Linux命令-----防火墙(查看、关闭、启动)

    一、查看防火墙状态 命令:ufw status 说明:         ·活动:防火墙是开启的         ·不活动:防火墙是关闭的 二、开启防火墙 命令:sudo ufw enable 开启防火墙后,可以查看防火墙状态 三、关闭防火墙 命令:sudo ufw disable

    2024年02月09日
    浏览(42)
  • docker 启动 mysql 通过防火墙设置端口无法访问解决方案

    1、问题描述:通过 docker compose 启动mysql服务,然而在防火墙添加了3306端口后却无法访问,但是关闭防火墙后又可以访问mysql数据库。 解决方案: 重启 docker 后解决: systemctl restart docker 如果没有解决问题则执行如下命名后可以解决 2、执行 docker-compose up -d 报错如下: 重启

    2024年02月07日
    浏览(60)
  • Linux中给特定ip段访问特定端口的方式(需要在防火墙开启状态下)

    附带: 1、关闭端口(不允许所有ip访问3306端口) 2、开放端口给特定ip段允许访问 (允许ip192.168.0.0/24访问3306端口,如果只配置这个192.168.0.0那就是只允许这个ip访问3306端口) 3、重新载入一下防火墙设置,使设置生效 4、查看已设置规则 5、删除已设置规则(删除多余的规则

    2024年02月04日
    浏览(45)
  • Linux防火墙firewalld不生效,无法拦截Docker映射端口

    今天出现了一个奇怪的现象,centos服务器上的防火墙(firewall)没有开放8103端口,但是依然可以访问 服务器开放的端口如下: 可以看出并没有开放8103端口 开放的服务如下: 也没有开放某三维系统,但可以正常访问 重启过防火墙,重启过服务器,仍未解决此现象。真是脑阔疼

    2024年02月04日
    浏览(97)
  • CentOS防火墙操作:开启端口、开启、关闭、配置

    systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体 启动一个服务: systemctl start firewalld.service 关闭一个服务: systemctl stop firewalld.service 重启一个服务: systemctl restart firewalld.service 显示一个服务的状态: systemctl status firewalld.service 在开机时启

    2024年02月12日
    浏览(51)
  • 防火墙firewalld 开启关闭端口

    对指定ip开放指定端口: 对指定ip关闭指定端口: 重启后生效: systemctl restart firewalld.service 列出全部生效的防火墙配置: firewall-cmd --list-all 开放指定端口: firewall-cmd --zone=public --add-port=8848/tcp --permanent 关闭指定端口: firewall-cmd --zone=public --remove-port=8848/tcp --permanent

    2024年01月21日
    浏览(45)
  • eNSP:当电脑从win10升级到win11,却发现启动虚拟设备(路由或防火墙)时出现报错,报错代码为40,如何解决?

    背景描述: 如何解决“当电脑从win10升级到win11,却发现启动虚拟设备(路由或防火墙)时,出现报错,报错代码为40”的问题呢? 基于电脑升级win11,启动虚拟设备尤其是路由和防火墙,出现报错,报错代码为40。我打算将自己的解决办法写于此,希望遇到同样问题困扰的你

    2024年02月09日
    浏览(60)
  • 【网络教程】记一次使用Docker手动搭建BT宝塔面板的全过程(包含问题解决如:宝塔面板无法开启防火墙,ssh,nginx等)

    演示的系统环境: Ubuntu 22.04.3 LTS 更新 安装/升级docker到最新版本 升级docker相关命令如下

    2024年02月10日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包