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,一经查实,立即删除!

相关文章

SwiftUI 集成 IMKit

Swift UI 集成 IMKit 在 SwiftUI 中,集成 IMKit 中 RCConversationListViewController 和 RCConversationViewController 两页面可能存在以下问题: 1、直接在 View 中使用,两个页面会错位; 2、用 NavigationView 集成会话列表和会…

GPM合并资料整理-GEM部分

一、性能数据上报项 1. CPU模块 上报键值说明采集平台cpu当前进程cpu使用率平均值Android & iOStotcpu系统cpu总使用率平均值Android & iOScpu_temp_maxcpu最高温度Androidcpu_temp_avgcpu温度平均值Androidgpu_temp_avggpu温度平均值Androidgpu_temp_maxgpu最高温度…

阿里云实时计算企业级状态存储引擎 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…

docker容器化技术

docker容器化技术 1.docker概述 docker简单的说就是一个沙盒技术,主要目的是为了将应用运行在其中与外界隔离,方便这个沙盒可以被转移到其它宿主机器。docker虚拟化的是java app、 依赖包、环境信息、操作系统软件。先有docker后有容器化技术&#xff…

提升测试效率,轻松并行运行测试——探秘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集群 文章目录 搭建 …

JS 深克隆(深克隆不考虑函数)深拷贝deepClone

js封装方法实现深拷贝 1.新建名为tools.js的文件,添加内容: export const deepClone (obj, result) > { var result result || {}; for (var prop in obj) { if (obj.hasOwnProperty(prop)) { if (typeof obj[prop] object && obj[prop] …

二维0-1背包问题

题目来源:8. 二维费用的背包问题 - AcWing题库 题目: 有 N 件物品和一个容量是 V 的背包,背包能承受的最大重量是 M。 每件物品只能用一次。体积是 vi,重量是 mi,价值是 wi。 求解将哪些物品装入背包,可…

SpringSecurity 密码加密登录

SpringSecurity 密码加密登录 1.前端所需文件2.后端所用工具类3.登录代码4.灵魂一问 1.前端所需文件 import JSEncrypt from jsencrypt/bin/jsencrypt.min// 密钥对生成 http://web.chacuo.net/netrsakeypairconst publicKey MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqz…

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、汇…

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

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

Mxnet导出onnx模型

Mxnet导出onnx模型 requirements mxnet1.9.1python3.8onnxsim 导出模型 import os import mxnet as mx import numpy as np import onnx from onnx import checker from mxnet.onnx import export_model from mxnet.gluon.model_zoo import vision from onnxsim import sim…

java 常⽤的线程池模式CachedThreadPool

线程池中的线程数量是可变的。 当提交一个新任务时,如果线程池中的线程都在运行,新任务就会被放入任务队列中等待执行。 如果线程池中的所有线程都在运行,且任务队列已满,那么线程池会创建新的线程来处理新任务。 使用场景&#x…

遗传算法 (Genetic Algorithm, GA) 详解与实现

文章目录 基本思想基本概念基本操作算法基本步骤代码实现参考文献基本思想 遗传算法(Genetic Algorithm,GA)是一种进化算法,其基本原理是仿效生物界中的“物竞天择、适者生存”的演化法则,它最初由美国Michigan大学的J. Holland教授于1967年提出。 遗传算法是从代表问题…