Docker【2】iptables 错误解决

iptables 错误解决

  • 问题说明
  • 问题分析
  • 解决步骤
    • 1. 确保 `iptables` 模块已加载
    • 2. 检查和重启 `docker` 服务
    • 3. 检查 `firewalld` 状态
    • 4. 重置 `iptables` 规则
    • 5. 查看和更新 Docker 配置
  • 总结

问题说明

执行的 docker 命令如下,启动 nginx 并设置宿主机端口 (8080) 与容器端口 (80) 的映射,出现了一个错误提示:iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.

[root@localhost ~]# docker run -d -p 8080:80 --name ng nginxd3e86c9e5651c07167bf6a4f6eacaefa3f0d1734d03f993dd059575394712fab
docker: Error response from daemon: driver failed programming external connectivity on endpoint ng (67f87043e441fddd238cb9844f0eeeacdbf298b8c64b6c92e2319cde16ba6a1b):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.(exit status 1)).
[root@localhost ~]# 

问题分析

这个错误提示表明 Docker 在尝试设置端口转发时,遇到了 iptables 配置问题。具体错误信息显示,iptables 试图创建一条规则,但未能找到所需的链或目标。
这个问题可能与以下几种情况有关:

  1. iptables 模块缺失或未加载:某些系统默认情况下可能没有加载 iptables 模块。
  2. iptables 规则损坏:如果 iptables 规则集损坏或配置不正确,也可能会导致这个错误。
  3. 防火墙冲突:如果系统上运行了另一个防火墙管理工具(如 firewalld),可能会与 Docker 的 iptables 配置冲突。

解决步骤

前置说明
本次遇到问题,是因为 ip_tables 模块未加载引起;手动加载了一下、并重启 docker,问题得以解决。

1. 确保 iptables 模块已加载

检查 iptables 模块是否已加载:

lsmod | grep ip_tables

如果没有输出,说明 iptables 模块未加载,可以手动加载:

modprobe ip_tables

2. 检查和重启 docker 服务

有时候,重启 docker 服务可以解决问题:

systemctl restart docker

3. 检查 firewalld 状态

如果系统上运行了 firewalld,尝试临时停止它以确定是否是它引起的问题:

# 停止防火墙
systemctl stop firewalld
# 禁用防火墙
systemctl disable firewalld.service 

然后再尝试运行 Docker 容器。如果确认是 firewalld 的问题,可以通过 firewalld 配置来允许 Docker 管理 iptables 规则。

4. 重置 iptables 规则

如果 iptables 规则集可能损坏,可以尝试重置它:

iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -X

然后重启 docker 服务:

systemctl restart docker

5. 查看和更新 Docker 配置

确保 Docker 使用的是正确的 iptables 配置。在 Docker 的配置文件(通常在 /etc/docker/daemon.json)中,确保包含以下设置:

{"iptables": true
}

如果进行了修改,重启 Docker 服务以应用更改:

systemctl restart docker

总结

上述步骤涵盖了大多数情况下可能导致 iptables 相关问题的原因及其解决方法。通过依次检查和调整这些配置,你应该能够解决 Docker 容器启动时的端口转发问题。如果问题仍然存在,请查看系统日志(如 /var/log/messagesdmesg)以获得更多调试信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/14576.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习Uni-app开发小程序Day25

这一章学习了触底加载更多阻止无效的网络请求、分类列表存入Storage在预览页面读取缓存展示、通过swiper的事件实现真正的壁纸预览及切换 触底加载更多阻止无效的网络请求、load-more样式的展现 前面已经学习了当列表触底后,会继续加载,当到最后一层后…

自动化测试--利用pytest实现整条业务链路测试

​ 概述 前面一章讲解了单个接口的测试,但是实际项目中,因为权限和登录状态的限制,大部分接口没办法直接访问到,这时候我们想访问到一个系统的接口,就需要模拟用户登录拿到用户的token和所拥有的权限之后再将这些信息…

vivado2020.2创建hls仿真工程实现led闪烁

下载vivado2020.2后会有这个出现在桌面 点击进入创建工程,这里注意不要有前面的\我再复制的时候复制错了导致创建失败 按f光标就会跳转到下一个f开头的函数处,要查找其他函数也同理 生成了一个synthesis summary文件 找到目录下生成的.v文件 an 点…

Pod进阶——资源限制以及探针检查

目录 一、资源限制 1、资源限制定义: 2、资源限制request和limit资源约束 3、Pod和容器的资源请求和限制 4、官方文档示例 5、CPU资源单位 6、内存资源单位 7、资源限制实例 ①编写yaml资源配置清单 ②释放内存(node节点,以node01为…

【知识蒸馏】多任务模型 logit-based 知识蒸馏实战

一、什么是逻辑(logit)知识蒸馏 Feature-based蒸馏原理是知识蒸馏中的一种重要方法,其关键在于利用教师模型的隐藏层特征来指导学生模型的学习过程。这种蒸馏方式旨在使学生模型能够学习到教师模型在特征提取和表示方面的能力,从…

有些错误,常犯常新、常新常犯:记录一个使用element-plus的tooltip组件的错误

使用element-plus的tooltip组件&#xff0c;最开始的写法是这样的&#xff1a; <el-tooltipclass"box-item"effect"dark"content"tooltip content" ><el-button v-if"isDisabled" :underline"false" type"pr…

持续总结中!2024年面试必问 20 道 Redis面试题(五)

上一篇地址&#xff1a;持续总结中&#xff01;2024年面试必问 20 道 Redis面试题&#xff08;四&#xff09;-CSDN博客 九、Redis的同步机制了解么&#xff1f; Redis 的同步机制是其复制策略的核心部分&#xff0c;确保数据在主节点&#xff08;master&#xff09;和从节点…

【C语言】程序员自我修养之文件操作

【C语言】程序员自我修养之文件操作 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;C语言学习之路 文章目录 【C语言】程序员自我修养之文件操作前言一.文件介绍1.1为什么使用文件1.2文件分类1.3二进制文件和文本文件 二.文件的打开和关闭2.…

桌面藏线大法

1有线改无线&#xff1a; 蓝牙鼠标 蓝牙键盘 蓝牙耳机 2将排插贴到桌子底下 购物软件上搜 3断舍离 不要的电子产品统统扔掉 4 洞洞板和挂钩 这个不用介绍了

爬虫基本原理及requests库用法

文章目录 一、爬虫基本原理1、什么是爬虫2、爬虫的分类3、网址的构成4、爬虫的基本步骤5、动态【异步】页面和静态【同步】页面6、请求头 二、requests基本原理及使用1、chrome 抓包按钮详解1.1 Elements1.2 元素定位器1.3 Network1.4 All1.5 XHR1.6 Preserve log1.7 手机模式1…

暴雨信息液冷计算解决方案亮相CCIG 2024

5月24日&#xff0c;2024中国图象图形大会&#xff08;CCIG&#xff09;在陕西西安正式开幕。作为涵盖图像图形各专业领域的综合性的全国性学术会议&#xff0c;CCIG面向开放创新、交叉融合的发展趋势&#xff0c;为图像图形相关领域的专家学者和产业界的同仁&#xff0c;搭建了…

Java+Spring+ MySQL + MyCat云HIS有哪些优势?智慧医疗云(HIS)低成本与安全保障的完美结合

JavaSpring MySQL MyCat云HIS有哪些优势&#xff1f;智慧医疗云(HIS)低成本与安全保障的完美结合 云HIS的优点包括节省成本、便捷高效、稳妥安全等。通过云HIS&#xff0c;医疗机构无需在本地建立机房、购买服务器和应用软件&#xff0c;降低了硬件和人力成本。同时&#xff0…

虚拟化介绍

虚拟化介绍 概述概念特点优势实现手段 虚拟化架构概述寄居虚拟化架构裸金属虚拟化架构操作系统虚拟化架构混合虚拟化架构几种虚拟化架构的比较虚拟化架构与虚拟化技术的关系 虚拟化技术分类服务器虚拟化技术分类 存储虚拟化技术分类网络虚拟化技术分类 服务器虚拟化技术处理器虚…

开源软件 | 一文彻底搞懂许可证的定义、起源、分类及八大主流许可证,让你选型不再头疼

为什么开源软件会存在许可证&#xff0c;许可证的起源与产生目的是为了解决什么问题&#xff1f;许可证的定义又是怎样的&#xff1f;什么是Copyleft&#xff0c;与Copyright有何区别&#xff1f;开源软件常见的许可证有哪些&#xff1f;这些许可证都有什么特点&#xff1f;接下…

[c++] 小游戏 能量1.0.1 版本 zty出品

大家好 紧急修改&#xff0c;发现判断游戏是否结束部分有问题&#xff0c;紧急修改bug&#xff0c;对大家造成的不便我深感歉意&#xff0c;对不起 先赞后看 养成习惯 code&#xff1a; #include<bits/stdc.h> #include<windows.h> using namespace std; int rg…

Zabbix实现7x24小时架构监控

上篇&#xff1a;https://blog.csdn.net/Lzcsfg/article/details/138774511 文章目录 Zabbix功能介绍Zabbix平台选择安装Zabbix监控端部署MySQL数据库Zabbix参数介绍登录Zabbix WEBWEB界面概览修改WEB界面语言添加被控主机导入监控模板主机绑定模板查看主机状态查看监控数据解…

6.封装读写游戏数据的功能

前置知识&#xff1a;5.模仿CheatEngine实现锁血无敌功能&#xff08;封装它的代码&#xff09; 封装功能.cpp文件 #include "封装功能.h"GAMECheat::GAMECheat(unsigned pid, unsigned _baseAdr, unsigned _readTime) {readTime _readTime;baseAdr _baseAdr;hPr…

代码随想录算法训练营第三十四天 | 理论基础、455.分发饼干、376、摆动序列、53.最大子序和

目录 理论基础 455.分发饼干 思路 代码 376.摆动序列 思路 代码 53.最大子序和 思路 代码 理论基础 代码随想录 455.分发饼干 代码随想录 思路 可以是大饼干优先满足大胃口&#xff0c;也可以是小饼干优先满足小胃口。 代码 class Solution:def findContentChildre…

ArkUI-X开发指南:【SDK配置和构建说明】

ArkUI-X SDK配置和构建说明 ArkUI-X SDK是ArkUI-X开源项目的编译产物&#xff0c;可将ArkUI-X SDK集成到现有Android和iOS应用工程中&#xff0c;使开发者基于一套ArkTS主代码&#xff0c;就可以构建支持多平台的精美、高性能应用。SDK内容包含ArkUI跨平台运行时&#xff0c;组…

安装SSL证书能提高网站访客吗?

在当今互联网时代&#xff0c;网站的安全性和用户体验至关重要。随着网络攻击和数据泄露事件的不断增加&#xff0c;用户对网站的信任也变得越来越重要。SSL证书是一种数字证书&#xff0c;可以在Web服务器和网页浏览器之间建立加密链接&#xff0c;确保网站传输的数据安全&…