同一网络中的Docker容器无法相互通信

萨姆·金

我是第一次在Centos中使用Docker。

当部署两个容器时,我发现我在Internet上遇到路由问题,然后我发现我什至无法使它们彼此通信(尽管在默认bridge网络上)。

在一个容器中发生这种情况:

/ # ip a | grep 172
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
/ # ping 172.17.0.3
PING 172.17.0.3 (172.2.0.3): 56 data bytes
^C
--- 172.17.0.3 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss

另一方面,相同的行为:

/ # ip a | grep 172
    inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
/ # ping 172.17.0.2
PING 172.17.0.2 (172.2.0.2): 56 data bytes
^C
--- 172.2.0.2 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss

它们在同一个网络中:

$ docker inspect 91767dd3adfa | grep -i networkid
                    "NetworkID": "d36d28507f9cc3f6c40437330af3778c117d303e106de0b3b43ad7919d2791c7",
$ docker inspect a393490d8d02 | grep -i networkid
                    "NetworkID": "d36d28507f9cc3f6c40437330af3778c117d303e106de0b3b43ad7919d2791c7",
$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
d36d28507f9c        bridge              bridge              local
f32f4c8d6187        host                host                local
5693790b1713        none                null                local

为什么会发生?我在Ubuntu和MacOS中使用了Docker,它可以无缝运行。

萨姆·金

我找到了解决方案。

启用防火墙以允许连接进出docker0网络。

这是通过以下命令执行的:

iptables -I INPUT -s <network> -i docker0 -m comment --comment "00015 input on docker0" -j ACCEPT
# accept any package coming from the network to docker0 interface
iptables -I FORWARD -m comment --comment "00010 conntrack on forward" -m state --state RELATED,ESTABLISHED -j ACCEPT
# maintain any 'session' or link to be able to return packages fro meth0 to docker0 (answer). Very tightened to the existance of a 'nat', otherwise this entry does not have any impact
iptables -I FORWARD -s <network> -i docker0 -o eth0 -m comment --comment "00011 forward to eth0 from docker0" -j ACCEPT
#forward packages
iptables -t nat -I POSTROUTING -s  <network> -o eth0 -m comment --comment "00013 masquerade on eth0 from docker0"
-j MASQUERADE
# create nat in order for any package that goes out of the host to be able to come back using the ip of the host and after the ip of the container

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

同一网络中的Docker容器无法通信

来自分类Dev

docker容器无法与同一网络上的其他容器通信

来自分类Dev

同一网络上的无线设备无法相互访问

来自分类Dev

Node + Flask服务器Docker容器无法通过同一网络进行通信

来自分类Dev

访问由 docker-compose 在同一网络中创建的容器

来自分类Dev

将Docker容器与Azure管道中的当前容器连接到同一网络

来自分类Dev

如何从与Docker主机位于同一网络的设备访问Docker容器?

来自分类常见问题

如何从主机外部(同一网络)连接到Docker容器[Windows]

来自分类Dev

同一网络中多主机中的docker网络

来自分类Dev

使用docker-compose无法在同一网络中连接mysql和spring boot

来自分类Dev

Linux:检查是否在同一网络中

来自分类Dev

在同一网络中无法访问 Ubuntu 中的 Http 服务器

来自分类Dev

无法访问同一网络中的计算机

来自分类Dev

通过phonegap应用程序从同一网络中的移动设备与本地服务器进行通信

来自分类Dev

在同一网络上通信的计算机

来自分类Dev

无法通过以太网和无线连接到同一网络

来自分类Dev

ASP.NET Core Web API服务无法连接到同一网络上的Docker SQL Server

来自分类Dev

无法从同一网络中的另一台机器访问 apprtc

来自分类Dev

无法通过wifi连接到同一网络的设备访问本地主机

来自分类Dev

无法访问同一网络上的共享文件夹

来自分类Dev

无法解析同一网络上设备的IP地址

来自分类Dev

DNS无法仅从外部在同一网络上解析-已经头痛3天了

来自分类Dev

我无法连接到同一网络内的其他机器

来自分类Dev

在同一网络中的多个节点中野生许多节点

来自分类Dev

同一网络会话中的永久计数器

来自分类Dev

同一网络会话中的永久计数器

来自分类Dev

在同一网络中创建SQL Server 2008的客户端

来自分类Dev

不在同一网络中的两台服务器之间的scp

来自分类Dev

如何在同一网络中检测给定设备的IP

Related 相关文章

  1. 1

    同一网络中的Docker容器无法通信

  2. 2

    docker容器无法与同一网络上的其他容器通信

  3. 3

    同一网络上的无线设备无法相互访问

  4. 4

    Node + Flask服务器Docker容器无法通过同一网络进行通信

  5. 5

    访问由 docker-compose 在同一网络中创建的容器

  6. 6

    将Docker容器与Azure管道中的当前容器连接到同一网络

  7. 7

    如何从与Docker主机位于同一网络的设备访问Docker容器?

  8. 8

    如何从主机外部(同一网络)连接到Docker容器[Windows]

  9. 9

    同一网络中多主机中的docker网络

  10. 10

    使用docker-compose无法在同一网络中连接mysql和spring boot

  11. 11

    Linux:检查是否在同一网络中

  12. 12

    在同一网络中无法访问 Ubuntu 中的 Http 服务器

  13. 13

    无法访问同一网络中的计算机

  14. 14

    通过phonegap应用程序从同一网络中的移动设备与本地服务器进行通信

  15. 15

    在同一网络上通信的计算机

  16. 16

    无法通过以太网和无线连接到同一网络

  17. 17

    ASP.NET Core Web API服务无法连接到同一网络上的Docker SQL Server

  18. 18

    无法从同一网络中的另一台机器访问 apprtc

  19. 19

    无法通过wifi连接到同一网络的设备访问本地主机

  20. 20

    无法访问同一网络上的共享文件夹

  21. 21

    无法解析同一网络上设备的IP地址

  22. 22

    DNS无法仅从外部在同一网络上解析-已经头痛3天了

  23. 23

    我无法连接到同一网络内的其他机器

  24. 24

    在同一网络中的多个节点中野生许多节点

  25. 25

    同一网络会话中的永久计数器

  26. 26

    同一网络会话中的永久计数器

  27. 27

    在同一网络中创建SQL Server 2008的客户端

  28. 28

    不在同一网络中的两台服务器之间的scp

  29. 29

    如何在同一网络中检测给定设备的IP

热门标签

归档