启动docker容器报如下错误

Error response from daemon: driver failed programming external connectivity on endpoint mmysql (ea2bb5fc455b0d5255c435b5444214982249cbd373ad46b781557aec22c571f0):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 -j DNAT --to-destination 172.21.1.1:3306 ! -i docker0: iptables: No chain/target/match by that name.
 (exit status 1))
Error: failed to start containers: mmysql

docker 服务启动的时候,docker服务会向iptables注册一个链,以便让docker服务管理的containner所暴露的端口之间进行通信

命令iptables -L可以查看iptables 链

如果你删除了iptables中的docker链,或者iptables的规则被丢失了(例如重启firewalld),docker就会报如上错误

只需要重启docker服务即可

结语

推荐下我的开源作品 PiperChat
PiperChat 是一款简洁高效的即时通讯服务,提供多种技术供开发者选择,帮助开发者快速构建高并发的即时通讯服务。
帮助企业快速接入 IM系统 / 聊天室系统 / 客服系统 等其他实时消息类系统,如果对你有用请求给我一个Star呀!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐