当前位置: 首页 > 面试题库 >

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

潘弘壮
2023-03-14
问题内容

主机中的容器“突然”失去了与外部容器的连接。但是,有些主机刷新了,突然我们遇到了以下情况:

  1. 主机可以与其他主机通信。
  2. 主机中运行的容器无法与其他主机通信。

这是一个例子:

[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,如何解决此问题?


问题答案:

我查看了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

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



 类似资料:
  • 主机中的容器“突然”失去了与外界容器的连接。但是,一些主机被刷新,突然我们出现了以下情况: 主机可以与其他主机通信。 主机中运行的容器无法与其他主机通信。 下面是一个示例: 现在,从容器本身,我们不能ping同一个主机: 我第一次看到这个警告是在Docker的最初版本中...有了Docker 1.9.1和1.10.3,如何解决这个问题?

  • Linux网络常用工具介绍。

  • 我正在开发一个应用程序,用户可以通过点击按钮启用/禁用移动网络。我在谷歌上搜索过这个问题,但我只得到了飞机模式的解决方案。在飞行模式下,WI-FI和蓝牙也被禁用。我不希望他们使用飞机模式的概念来禁用。我只想禁用移动网络。按语法实现它的可能方式是什么?

  • 本文向大家介绍Docker主机网络与网桥网络,包括了Docker主机网络与网桥网络的使用技巧和注意事项,需要的朋友参考一下 可用于Docker网络的单主机网络有两种类型:“主机”和“桥”网络。单主机网络意味着它们的影响对于每个单独的主机都是局部的。 在主机网络的情况下,特定的Docker容器可以直接使用主机的网络来发送和接收数据包。对于网桥网络,它需要端口映射才能进行通信。 为了更好地理解它们,让

  • 一天一面,效率还行,就是给的有点离谱 一面 hr面 问了问成绩啥的就没了 二面 项目介绍 java基础问了问 nacos原理 springboot注解 设计模式里式替换 三面 问了问成绩 介绍项目#亿联网络校招#

  • 我有一个 docker 容器,我想给它 --network=host AND -。我需要连接到主机网络才能将主机数据狗服务器 (UDP) 和 网络用于其数据库。 尝试添加这两个网络会导致。 知道正确的处理方法吗?