Docker Networking已禁用:警告:禁用IPv4转发。网络无法正常工作

时间:2017-01-03 22:17:04

标签: docker docker-networking

主机中的容器"突然"失去与外部世界容器的连接。然而,一些主机被刷新,突然我们遇到以下情况:

  1. 主持人可以与其他主持人通信。
  2. 主机中运行的容器无法与其他主机通信。
  3. 以下是一个例子:

    [root@pprdespap322 deploy]# ping ci.docker.company.net
    PING pprdespap324.corp.company.net (10.137.55.22) 56(84) bytes of data.
    64 bytes from pprdespap324.corp.company.net (10.137.55.22): icmp_seq=1 ttl=64 time=0.282 ms
    64 bytes from pprdespap324.corp.company.net (10.137.55.22): icmp_seq=2 ttl=64 time=0.341 ms
    ^C
    --- pprdespap324.corp.company.net ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 0.282/0.311/0.341/0.034 ms
    

    现在,从容器本身,我们无法ping同一主机:

    [root@pprdespap322 deploy]# docker run -ti quay.io/coreos/registry ping ci.docker.company.net
    WARNING: IPv4 forwarding is disabled. Networking will not work.
    ping: unknown host ci.docker.company.net
    

    我第一次看到这个警告是在Docker的初始版本中......拥有Docker 1.9.1和1.10.3,如何解决这个问题?

4 个答案:

答案 0 :(得分:124)

我查看了http://chrisgilmerproj.github.io/ubuntu/network/docker/2013/09/05/ipv4-forwarding-and-docker.html,它帮助我解决了主机上的问题。

我将以下内容添加到 /etc/sysctl.conf

net.ipv4.ip_forward=1

然后我重新启动了网络服务并验证了设置:

[root@pprdespap322 deploy]#  systemctl restart network
[root@pprdespap322 deploy]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
[root@pprdespap322 deploy]# docker run -ti quay.io/coreos/registry ping ci.docker.company.net
PING pprdespap324.corp.company.net (10.137.55.22) 56(84) bytes of data.
64 bytes from pprdespap324.corp.company.net (10.137.55.22): icmp_seq=1 ttl=63 time=0.329 ms
64 bytes from pprdespap324.corp.company.net (10.137.55.22): icmp_seq=2 ttl=63 time=0.306 ms
^C
--- pprdespap324.corp.company.net ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.306/0.317/0.329/0.021 ms

现在所有容器都可以与外部世界的容器通信!

答案 1 :(得分:3)

尝试重新启动Docker服务。

例如对于Ubuntu:

$ sudo systemctl restart docker

答案 2 :(得分:2)

尝试将-net=hostdocker run命令一起添加。

https://medium.com/@gchandra/docker-ipv4-forwarding-is-disabled-8499ce59231e

答案 3 :(得分:2)

解决了重启网络的问题。

is_not_immune_to