启动mysql容器的时候报错
[root@localhost docker-compose]# docker-compose -f docker-compose-mysql.yml -p mysql up -d
Creating mysql ...
Creating mysql ... error
ERROR: for mysql Cannot start service mysql: driver failed programming external connectivity on endpoint mysql (c26ce5bdeba6f92244d21678d8c1c29e87b181be01307e219e8471e352fe7): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 -j DNAT --to-destination x.x.x.x.:3306 ! -i br-597add111627: iptables: No chain/target/match by that name.
(exit status 1))
解决方法是重启docker服务
systemctl restart docker
原因是在此之前对本机的防火墙进行了操作
docker启动后,再对防火墙firewalld进行操作,就会发生上述报错,docker服务启动时定义的自定义链docker,当centos7 firewall 被清掉时, firewall的底层是使用iptables进行数据过滤,建立在iptables之上,这可能会与 docker 产生冲突。