Docker,在不同网桥上的主机之间进行通信

我的情况:

  • 我有一个容器(container_A)在默认网桥(172.17.0.1/16)
  • 我在另一个桥(172.18.0.1/16)上有一组通过docker-compose创build的容器。 其中一个名为container_B_1(ip:172.18.0.2)

默认情况下,我无法从container_A ping到container_B_1

问题:如何使这个特定的容器(container_B_1)可以从默认桥接networking访问? 换句话说:让它拥有172.17.0.x IP(在172.18.0.x IP旁边)。 只有一个容器

我已经在我的docker-compose.yml中试过了

在这里输入图像说明

但是,gettting错误:“networking范围的别名仅支持用户定义networking中的容器”

在这里输入图像说明

谢谢!

在这里find答案: https : //github.com/docker/compose/issues/3012

来自ninchan8328在2016年5月16日评论:

我想通了,我可以让docker组成一个自定义的networking启动容器,然后做一个dockernetworking连接桥[容器]join默认networking的方式。

您可以创build自己的networking,并在撰写文件中指定它:

  • 创build你自己的networking: docker network create --driver bridge my_dev_network你可以validationdocker network ls

  • 在两个容器(容器A)和另一组容器的docker-compose.yml中,指定刚刚创build的networking:

网络

您可以通过docker network inspect my_dev_networkvalidationdocker network inspect my_dev_network来查看是否所有容器都已join您自己的networking