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

Docker, communicating between hosts on different bridges

我的情况:

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

问题:如何使特定容器 (container_B_1) 也可以从默认桥接网络访问?换句话说:让它拥有 172.17.0.x IP(除了 172.18.0.x IP)。就那么一个容器。

我已经在 docker-compose.yml

中试过了

但是,出现错误:"Network-scoped alias is supported only for containers in user defined networks"

谢谢!

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

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

I figured out, i can have the docker-compose to start the container in a custom network and then do a docker network connect bridge [container] to join the default network that way.

您可以创建自己的网络并在撰写文件中指定它:

  • 创建您自己的网络: docker network create --driver bridge my_dev_network 你可以通过 docker network ls

  • 来验证
  • 在你的docker-compose.yml中为两个容器(容器A)和另一组容器指定你刚刚创建的网络:

你可以通过docker network inspect my_dev_network验证是否所有的容器都加入了你自己的网络

为了保持相同的 IP 系列,我遇到了同样的问题,并找到了这个解决方案。

包括 network_mode: bridge 在撰写文件中的每个服务下。

这样您就不必创建自定义网络。