docker启动容器报错

文章描述了在运行Docker容器时遇到的端口转发错误,该错误涉及iptables命令的执行失败。解决方案包括重新安装iptables,检查端口8080是否被占用,以及在必要时重启Docker服务。如果其他进程占用了8080端口,需处理冲突或更换端口。
摘要由CSDN通过智能技术生成

在这里插入图片描述

报错信息


[root@Dream soft]# docker run  -it -d -p 8080:8080 tomcat
eec9fab6b9ca06d2bbf1467aef05d8020ee60448978e10ac20c38888934f0a0b
docker: Error response from daemon: driver failed programming external connectivity on endpoint hungry_euclid (163242f0079e7260acb3a98ceef930b9629ed0e79407193adf080fdf080fe0ad):  (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在设置容器的端口转发时出现了问题。它尝试使用iptables命令来设置NAT规则,但似乎遇到了一些错误。

这个问题可能是由于iptables软件包没有正确安装或配置导致的。你可以尝试重新安装iptables软件包来解决问题。在CentOS系统上,可以使用以下命令重新安装iptables:

sudo yum reinstall iptables

完成后,尝试再次运行Docker容器,并检查是否仍然出现相同的错误。

另外,请确保你确实没有其他服务或进程使用了端口8080,以免发生冲突。你可以使用lsof命令来检查该端口是否被占用:

sudo lsof -i :8080

如果该端口已被占用,你可以选择更换一个未被占用的端口来运行容器,或者停止占用该端口的进程。
然后重启容器,如果还是启动失败,那么这个时候就是我们的防火墙曾经重启过,导致docker的安全机制发生改变,我们只需要进行重启docker,但是注意,docker重启也会给其他容器带来分险
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT小辉同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值