2017-02-03 91 views
0

假设我在同一台机器上有两个码头网络。 (网络-1和网络-2)网络上的REST请求

在每个网络上,我有容器。 (Container-1-Network-1和Container-1-Network-2等)

我需要从Container-1(172.18.0.x)发送一个PUT请求到Container-2(172.19.0。 x)但我得到'连接被拒绝',因为不同的网络不能相互通信。我在这里有什么选择?我可以将容器移动到另一个网络,还是将网络合并到一个容器中或以某种方式链接容器(在docker-compose.yml中)?

谢谢。

+1

这看起来非常类似于http://serverfault.com/q/830135/351549 – BMitch

回答

1

理想情况下,您应该将容器添加到需要与其他容器进行通信的每个网络,并且每个网络应该彼此隔离。这是码头网络的默认设计。

将容器添加到另一个网络,使用:

docker network connect $network $container 

当你有很多容器管理的更简单的方法是使用泊坞窗撰写来定义哪些网络每个容器必须属于。这将自动执行docker network connect命令。

+0

谢谢,有关如何使用docker撰写自动化的任何链接? –

+0

Docker的[与撰写文档联网](https://docs.docker.com/compose/networking/)很好地涵盖了这个选项。 – BMitch