docker启动容器报错

在这里插入图片描述

报错信息


[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重启也会给其他容器带来分险
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_53742691/article/details/132000550