由iptables切换到firewall,发现redis的docker镜像启动不了,报如下错误:ERROR: for docker-php_redis_1  Cannot start service redis: driver failed programming external connectivity on endpoint docker-php_redis_1 (85374c46684140ff5cb45cc4452058570942242121b12ee84e00c12a0bbb9e12):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 6380 -j DNAT --to-destination 192.168.48.4:6379 ! -i br-88fd6ade0ba7: iptables: No chain/target/match by that name

    由字面意思看,是因为docker之前加载了宿主机的iptables。

分析:

    因切防火墙策略导致docker加载iptables失败。因本身是docker间通信,所以不需要配置iptables,则在启动docker的时候关闭iptables。

解决:

    修改/etc/sysconfig/docker里的OPTIONS增加--iptables=false,重启docker服务,再启动redis,顺利开启。

Logo

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

更多推荐