新装 Docker 启动报错

通过yum快速安装Docker,启动一直报错:

 ERROR: COMMAND_FAILED: '/sbin/iptables -t nat -D PREROUTING -m addrtype --dst-type LOCAL -j DOCKER' failed: iptables: No chai.....

 ERROR: COMMAND_FAILED: '/sbin/iptables -t nat -D OUTPUT -m addrtype --dst-type LOCAL ! --dst 127.0.0.0/8 -j DOCKER' failed: i......

ERROR: COMMAND_FAILED: '/sbin/iptables -t filter -C FORWARD -j DOCKER-ISOLATION' failed: iptables v1.4.21: Couldn't load targ.......

问题所在:" ERROR: COMMAND_FAILED " 和 "iptables: No chain/target/match by that name " 可能是表示防火墙规则不存在或无法执行。这种情况可能发生在升级或更改防火墙配置之后。解决此问题的方法是检查防火墙规则是否存在或是否已更改,并重新配置规则以便允许Docker运行。可以通过命令“systemctl status firewalld”了解防火墙的状态和日志,然后尝试重新配置规则。另外,还可以暂时禁用防火墙以便排除此问题并测试Docker是否可以启动。

解决步骤:

1、首先关闭防火墙(iptables/firewalld)

        iptables防火墙关闭命令:

service iptables stop

        Firewalld防火墙关闭命令:

service firewalld stop 

2、尝试启动Docker

systemctl start docker

启动没有报错,检查docker服务状态:

systemctl status docker

        启动成功....!禁用防火墙后Docker启动成功,说明防火墙规则阻止了Docker的必要网络连接。启用防火墙时,需要注意允许Docker所需的网络流量,以便其可以正常工作。

3、设置防火墙规则

目前证实是因为防火墙影响的无法启动,需要设置防火墙中允许Docker默认网络并设置防火墙规则来启用防火墙并允许Docker访问网络。

启动防火墙:

systemctl start firewalld

将 Docker 网络区域添加到可信区域:

firewall-cmd --zone=trusted --add-interface=docker0 --permanent 

 重新加载防火墙规则:

firewall-cmd --reload

再次启动Docker:

systemctl start docker

检查服务状态:

systemctl status firewalld
systemctl status docker

active (running):运行中

猜你喜欢

转载自blog.csdn.net/beichen778/article/details/129444947