报错信息:
报错一:WARNING: IPv4 forwarding is disabled. Networking will not work
报错二:docker: Error response from daemon: driver failed programming ex吧ternal connectivity on endpoint homi (351555feb2011b6d1d7636ea54b2bc43a988beaf01cce88f304b1e8a1725eece): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 1112 -j DNAT --to-destination 172.17.88.4:8080 ! -i docker0: iptables: No chain/target/match by that name.
分析:产生原因
报错一:
docker网络问题
报错二:
docker服务启动时定义的自定义链DOCKER由于某种原因被清掉
重启docker服务及可重新生成自定义链DOCKER
解决如下(亲测):
解决——报错一:
vi /etc/sysctl.conf (注:有文章声称是修改/usr/lib/sysctl.d/00-system.conf文件;实测无效)
添加如下信息:
net.ipv4.ip_forward=1
重启docker网络
systemctl restart network
解决——报错二:依次执行
pkill docker
iptables -t nat -F
ifconfig docker0 down
brctl delbr docker0
docker -d
systemctl restart docker
综上问题:建议启动容器时,可以设置为开机启动,即添加参数:--restart=always,可避免报错;
****************************************
解决报错二另外方法(未亲测:
重启docker服务后再启动容器
systemctl restart docker
docker start foo(容器名)