Bug描述
[root@VM-12-15-centos ~]# docker restart ca1008fbdf25
Error response from daemon: Cannot restart container ca1008fbdf25: driver failed programming external connectivity on endpoint nginx_java (aded2fc7cbfa784b2e6a39e08d3ae2e7d00c13af88879a8fe7c5007ffd0aa9fd): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 81 -j DNAT --to-destination 172.17.0.5:81 ! -i docker0: iptables: No chain/target/match by that name.
Bug原因分析
重启容器出错。分析其中说明:
- driver failed programming external connectivity on endpoint nginx_java:这个错误表示Docker驱动程序在配置容器的外部连接时出现了问题, 这可能与iptables规则有关。
- iptables: No chain/target/match by that name:这个错误表示iptables无法找到指定的链、目标或匹配项, 具体原因可能是iptables配置不正确或缺少某些规则
解决方法
为了解决这个问题,尝试以下步骤:
-
检查iptables配置:首先,确保你的iptables配置正确。你可以检查你的iptables规则是否包含了正确的链、目标和匹配项。如果你使用了自定义的iptables规则,请确保它们没有错误。
-
检查Docker网络配置:Docker使用iptables来管理容器的网络连接。你可以尝试重启Docker服务,以便重新加载网络配置。运行以下命令来重启Docker服务:
systemctl restart docker
我就是重启Docker服务解决的不能重启容器的问题
-
检查网络接口:确保Docker容器的网络接口(例如docker0)正常工作。你可以运行以下命令来查看网络接口的状态:
ip link show docker0
总结
认真看日志,然后百度解决,然后记录