Docker启动报错:No chain/target/match by that name 处理

一、问题描述

某次OS升级重启后,发现docker redis实例无法启动,报错如下:

在这里插入图片描述

Error response from daemon: driver failed programming external connectivity on endpoint vpm.redis.2 (f4b70fef65000bcacb574ee59e65d9b7a25f2abfa5dec0be9b7421b6c4a985e0):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 6379 -j DNAT --to-destination 172.1.10.3:6379 ! -i docker0: iptables: No chain/target/match by that name.(exit status 1))
Error: failed to start containers: 00cb13547452

现场环境:BCLinux 8.2

二、处理过程

1)由上报错可知是iptables的问题,现场firewall已禁用;手动执行规则添加命令:

iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 6379 -j DNAT --to-destination 172.1.10.3:6379 ! -i docker0

报错同上:iptables: No chain/target/match by that name.

2)检查iptables的nat表,发现根本没有docker链

iptables -nL -t nat   //输出如下Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         Chain INPUT (policy ACCEPT)
target     prot opt source               destination         Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

3)我们需要手动添加DOCKER链到NAT表中:

iptables -t nat -N DOCKER   //创建 iptables 中 nat 表中的 docker 链,执行此命令后,docker 链就会被创建#重新执行上述容器的docker链添加命令,实际容器启动时会自动添加
iptables -t nat -A PREROUTING -i eth0 -j DOCKER  //将所有来自 docker0 虚拟网卡的数据包转发到 docker 链
iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 6379 -j DNAT --to-destination 172.1.10.3:6379 ! -i docker0   //在 docker 链中添加规则:将除docker0口的所有数据包转发到172.1.10.3地址的6379端口redis上
#验证
iptables -t nat -L DOCKER

4)再次重启redis容器,执行:docker start contained_id,报错:

Error response from daemon: driver failed programming external connectivity on endpoint vpm.redis.2 (38aa4d7de267a30e436881f97bc75d1e564649d5e942203297a2563):  (iptables failed: iptables --wait -t filter -A DOCKER ! -i docker0 -o docker0 -p tcp -d 172.1.10.3 --dport 6379 -j ACCEPT: iptables: No chain/target/match by that name.(exit status 1))
Error: failed to start containers: 00cb13547452#同上,还需要在 filter表创建DOCKER链
iptables -t filte -N DOCKER#将发往而非来自docker0 接口的数据包发往redis,即允许来自 docker0 接口以外的 TCP 数据包访问 172.1.10.3 地址的 6379 端口,允许外部访问 Docker 容器中的 Redis 服务
iptables --wait -t filter -A DOCKER ! -i docker0 -o docker0 -p tcp -d 172.1.10.3 --dport 6379 -j ACCEPT

5)再次重启redis容器,正常

iptables -t nat -L  //输出如下
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         Chain INPUT (policy ACCEPT)
target     prot opt source               destination         Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  tcp  --  172.17.0.3           172.1.10.3           tcp dpt:redisChain OUTPUT (policy ACCEPT)
target     prot opt source               destination         Chain DOCKER (0 references)
target     prot opt source               destination         
DNAT       tcp  --  anywhere             anywhere             tcp dpt:redis to:172.1.10.1:6379
DNAT       tcp  --  anywhere             anywhere             tcp dpt:redis to:172.1.10.3:6379

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

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

相关文章

阿里云实时计算企业级状态存储引擎 Gemini 技术解读

本文整理自阿里云 Flink 存储引擎团队李晋忠,兰兆千,梅源关于阿里云实时计算企业级状态存储引擎 Gemini 的研究,内容主要分为以下五部分: 流计算状态访问的痛点企业级状态存储引擎GeminiGemini 性能评测&线上表现结语参考 一、…

2024年最新ChemiCloud优惠75%折扣WordPress外贸主机

ChemiCloud怎么样?ChemiCloud好不好?ChemiCloud是一家成立于2016年的云虚拟主机提供商,他们在全球范围内拥有多个机房,并以其出色的性价比而备受赞誉。他们整合了许多先进技术,包括Digital Ocean SSD云服务器、LiteSpe…

云计算任务调度仿真03

前面陆续分享了基于policy gradient和DQN实现的深度强化学习任务调度仿真,上次的DQN没有实现fix-qtarget和experience replay,这次再分享实现了这两个方法的DQN任务调度仿真。 经验重放,定义存储和存放次序,这里也可以自行修改 de…

提升测试效率,轻松并行运行测试——探秘Pytest插件pytest-xdist

在软件开发中,测试是确保代码质量的重要一环。然而,随着项目规模的增大,测试用例的数量也随之增多,测试的执行时间可能成为一个瓶颈。为了解决这个问题,Pytest提供了丰富的插件生态系统,其中 pytest-xdist …

[C#]调用tesseact-ocr的traineddata模型进行ocr文字识别

【框架地址】 https://github.com/charlesw/tesseract 【算法介绍】 Tesseract OCR是一个开源的光学字符识别引擎,它可以将图像中的文字转换成可编辑和可搜索的文本格式。Tesseract由惠普实验室于1985年开始开发,并在2005年被Google收购后成为了开源项…

api网关-kong

选型 api网关相关功能 服务的路由 动态路由负载均衡 服务发现 限流 熔断、降级 流量管理 黑白名单反爬策略 控制台:通过清晰的UI界面对网关集群进行各项配置。 集群管理:Goku网关节点是无状态的,配置信息自动同步,支持节点水…

7.云原生之jenkins集成SonarQube

1. 私有云实战之基础环境搭建 2. 云原生实战之kubesphere搭建 3.云原生之kubesphere运维 4. 云原生之kubesphere基础服务搭建 5.云原生安全之kubesphere应用网关配置域名TLS证书 6.云原生之DevOps和CICD 7.云原生之jenkins集成SonarQube 8.云原生存储之Ceph集群 文章目录 搭建 …

BGP公认任意属性——MED(二)

BGP公认任意属性有两个,分别是:Local-preference 和 MED,本期介绍MED。 点赞关注,持续更新!!! MED 特点 MED (多出口鉴别器),也称为BGP COST,…

usb静电防护芯片选择

方案1 USBLC6-2SC6 优缺点 优点:进出使用不同的焊盘,如果没有焊接好信号必定不能通过。有效的避免了虚焊导致故障。 缺点:不能省略,调试时也不能省略。 原理图 参考价格 参考来源 USB切换方案,多电脑共用USB方案…

高级路由学习试题

文章目录 高级路由学习试题一.高级路由题目答案 二.OSPF 相关答案 三.基础知识答案 高级路由学习试题 一.高级路由题目 1.以下属于ITOIP特性的有() A、智能 B、开放 C、融合 D、标准 2.层级化网络模型将网络划分为() A、汇…

“掌握家庭收支,轻松规划未来,记录日常开销的利器!“

你是否经常对家庭开支感到困惑,不知道钱都花在哪里了?或者想要更好地规划家庭的财务,却无从下手?现在,有了我们的收支明细工具,这些问题都将迎刃而解! 第一步:首先我们要进入晨曦记账…

02.构建和使用的大型语言模型(LLMs)阶段

我们为什么要建立自己的LLMs?LLM从头开始编码是了解其机制和局限性的绝佳练习。此外,它还为我们提供了必要的知识,可以保留或微调现有的开源LLM架构,以适应我们自己的特定领域的数据集或任务。 研究表明,在建模性能方面,定制(LLMs为特定任务或领域量身定制的)可以胜过…

#华为nova12#系列带你解锁新年第一拍

这一次,华为nova 12 Ultra及nova 12 Pro为可变光圈赋予全新定义,让你无论是记录日常生活,自拍、还是捕捉萌宠、大合影、拍风景或者夜景光源都能轻松驾驭。 智能物理可变光圈让每一个场景都有适宜的光圈选择。可变光圈,全方位出圈…

Python流程控制语句

目录 一、分支结构 (一)单分支语句 (二)双分支语句 (三)多分支语句 (四)嵌套的分支语句 二、循环结构 循环结构概述 (一)for循环 (二&am…

产品经理须知 | 电商API接口接入知识小结

应用程序接口API(Application Programming Interface),是提供特定业务输出能力、连接不同系统的一种约定。这里包括外部系统与提供服务的系统(中后台系统)或后台不同系统之间的交互点。包括外部接口、内部接口&#xf…

【网络】网络层ICMP协议

🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁&am…

数据结构02附录02:哈希表[C++]

图源:文心一言 上机题目练习整理~🥝🥝 本篇作为线性表的代码补充,每道题提供了优解和暴力解算法,供小伙伴们参考~🥝🥝 第1版:在力扣新手村刷题的记录,优解是Bard老师提…

目标检测-One Stage-EfficientDet

文章目录 前言一、EfficientNetEfficientNet-B0 baselineMBConv 参数优化EfficientNet B0-B7 参数 二、EfficientDetBiFPN复合缩放方法 总结 前言 EfficientDet是google在2019年11月发表的一个目标检测算法系列,其提出的背景是:之前很多研究致力于开发更…

自动化创建ETX用户帐号

在芯片设计行业,ETX是常见的远程访问环境。用户在通过ETX访问远程环境前必须首先加入ETX系统,然后通过profile分配相关的环境的访问权限。 通常这些操作在ETX WEB页面手工操作,如果我们期望实现用户帐号注册全自动化,就需要将以上…

一文搞懂Git版本工具常用的操作命令

简述 Git是一个分布式的版本控制工具,其在使用上要比SVN等版本控制工具稍显复杂。为了便于理解,本文通过图文方式详细介绍Git的使用,以便于快速掌握Git。Git涉及的主要概念和命令如图所示。理解上述概念后,基本可以使用Git完成日常开发工作。关于Git的介绍以及常用命令在之前的…