问题
运行docker run 命令提示:
WARNING: IPv4 forwarding is disabled. Networking will not work.
但是重启了docker后,再运行docker run就正常了
[root@vms21 ~]# docker run -it --restart=always --name=c1 -v /xx hub.c.163.com/library/centos
WARNING: IPv4 forwarding is disabled. Networking will not work.
[root@vms21 ~]# systemctl restart network && systemctl restart docker
[root@vms21 ~]# docker run -d --name=c1 hub.c.163.com/library/centos
20a1cf50c2d171ac33872a6f96418fc12f56ac88f013ee80fb644f796ae8eaca
[root@vms21 ~]# docker exec -it c1 /bin/bash
[root@20a1cf50c2d1 /]# ip ad
原因
这种情况是因为没有设置永久开启IPv4转发功能。
解决方法
1、使用下面命令开启转发功能
cat <<EOF > /etc/sysctl.d/k8s.conf
net.ipv4.ip_forward = 1
EOF
2、然后,再设置其永久生效。
sysctl -p /etc/sysctl.d/k8s.conf
验证
步骤1、运行下面命令
echo 0 > /proc/sys/net/ipv4/ip_forward
步骤2、运行docker run 命令创建容器,仍然会有刚才的那个提示:
WARNING: IPv4 forwarding is disabled. Networking will not work.
步骤3、运行下面命令
echo 1 > /proc/sys/net/ipv4/ip_forward
步骤4、运行docker run 命令创建容器,就不会有warning提示。