启动Docker容器报错docker: Error response from daemon: driver failed programming external connectivity on..

问题描述

Linux系统在启动Docker容器时,出现报错docker: Error response from daemon: driver failed programming external connectivity on endpoint lucid_banach(端口映射或启动容器时报错): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.17.0.2:8080 ! -i docker0: iptables: No chain/target/match by that name).
(exit status 1)).

docker: Error response from daemon: driver failed programming external connectivity on endpoint lucid_banach(端口映射或启动容器时报错): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.17.0.2:8080 ! -i docker0: iptables: No chain/target/match by that name).
(exit status 1)).

原因分析:

启动Docker后,再对防火墙firewalld进行操作,就会发生上述报错,当 firewalld 启动或者重启时,将会从 iptables 中移除 Docker 的规则,影响 Docker 的正常工作。


解决方案:

root用户输入指令 :

systemctl restart docker

重启docker服务即可重新生成自定义链DOCKER。

更详细的解释请参考如下链接,本文仅作为快速解决方案,仅供参考。

Linux中启动Docker容器报错:Error response from daemon: driver failed programming external connectivity

### Docker启动 Redis 遇到网络配置错误的原因分析 当遇到 `driver failed programming external connectivity` 错误时,这通常意味着 Docker 在尝试设置容器的网络接口时遇到了问题。此问题可能由多种因素引起。 如果无法连接到位于特定 IP 和端口上的 Redis 实例,则可能是由于目标主机未运行任何服务监听该地址和端口组合,或者是防火墙阻止了访问请求[^1]。对于 Redis 容器而言,确保宿主机上不存在其他进程占用默认使用的 6379 端口非常重要;另外还需确认所指定的 IP 地址是否可达以及是否有相应的安全组规则允许入站流量到达这个端口号。 此外,在某些情况下,Docker 的网络子系统可能会因为内核参数不当而出现问题。可以检查系统的 sysctl 设置来排除这类可能性。例如: ```bash sysctl net.ipv4.conf.all.route_localnet=1 ``` 上述命令会启用路由本地网功能,这对于一些依赖于回环设备的应用程序来说是必要的。 关于 Docker 容器内部的服务管理方面,需要注意的是在启动像 Portainer 这样的工具时要正确映射所需的套接字文件路径,即 `/var/run/docker.sock` 到容器中的相同位置[^2]。然而这个问题与当前讨论的主题关系不大,除非是在同一个环境中同时部署了多个相互关联的服务实例。 针对具体的解决方案建议如下几点考虑方向: - 检查并调整防火墙策略; - 使用不同的端口范围重新创建 Redis 容器; - 查看是否存在冲突性的后台任务正在使用相同的资源; - 尝试重启 Docker 服务本身以重置其状态; - 更新至最新版本的 Docker Engine 及相关组件。 最后提醒一点,务必仔细阅读官方文档获取最权威的信息和支持指南。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值