跨网络的REST请求

时间:2017-02-03 16:52:45

标签: networking docker docker-compose

假设我在同一台机器上有两个docker网络。 (Network-1和Network-2)

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

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

感谢。

1 个答案:

答案 0 :(得分:1)

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

要将容器添加到其他网络,请使用:

docker network connect $network $container

当您需要管理大量容器时,更简单的方法是使用docker compose来定义每个容器需要属于哪些网络。这会自动执行docker network connect命令。