【发布时间】:2019-07-18 10:46:49
【问题描述】:
我们的两项服务
我们有 LXV virtual-machine-1,我们有 docker-compose 和 service-1 和其他服务。
我们还有另一个 LXV virtual-machine-2,我们有 docker-compose 和 service-B 和新的其他服务。假设这两个服务使用端口 80 和 81
问题
如何在单独的 LXV 虚拟机的单独 docker 组合中从 service-1 连接到 service-B。
我们尝试了什么
我们通过添加映射服务 1 和virtual-machine-1 的 IP 地址来更改 LXV virtual-machine-2 上的 hosts 文件。 virtual-machine-1 有一个转发代理,它被配置并将请求转发到service-1
ping service-1 和 telnet service-1 80 来自 virtual-machine-2 工作。
但是,相同的 ping 在 docker-compose of virtual-machine-2 的容器内不起作用。
【问题讨论】:
-
您不必触摸 ip 或 hosts 文件即可在同一 docker compose 网络中的容器之间进行连接。他们已经有一个内部 dns 将容器名称指向他们的 ip 地址。您应该可以使用 virtual-machine-2:81
-
您是否使用 Overlay 作为网络驱动程序而不是默认的网桥连接器? docs.docker.com/network
-
驱动程序:网桥。 Docker-compose v2.1
标签: docker docker-compose containers