无法在docker容器之间通信

无法在docker容器之间通信,docker,Docker,我们运行两个docker容器,每个容器都有网络作为主机,我们可以从外部世界与容器通信,但我们无法在容器之间通信 是否有一种方法可以配置docker网络,以便容器可以在它们之间以及外部世界进行通信。当您将docker容器配置为使用“主机”网络时,您将完全删除docker网络堆栈,包括容器到容器的网络和内置dns发现。在容器网络中看到的所有内容都与在主机上看到的内容相同。因此,在127.0.0.1上,从主机和具有主机网络的其他容器可以看到另一个侦听localhost的容器 在大多数情况下,这不是运行

我们运行两个docker容器,每个容器都有网络作为主机,我们可以从外部世界与容器通信,但我们无法在容器之间通信


是否有一种方法可以配置docker网络,以便容器可以在它们之间以及外部世界进行通信。

当您将docker容器配置为使用“主机”网络时,您将完全删除docker网络堆栈,包括容器到容器的网络和内置dns发现。在容器网络中看到的所有内容都与在主机上看到的内容相同。因此,在127.0.0.1上,从主机和具有主机网络的其他容器可以看到另一个侦听localhost的容器


在大多数情况下,这不是运行docker容器的推荐方法。您通常为一组容器创建一个docker网络,在该docker网络上启动这些容器,然后通过容器名称引用其他容器。

找到了我的问题的解决方案,我可以使用docker 0网络(默认网络)在容器之间进行通信,为了将容器的选定端口映射到外部世界,我使用-p映射从容器端口映射到主机端口


正如@BMitch建议的那样,使用单独的网络只连接需要容器间通信的容器要比使用Docker 0好,因为没有任何明确的网络配置的所有容器都连接到Docker 0。

我认为Docker link就是您要找的。@Pumpkinsed:Docker network似乎已经取代了Docker link,我想了解的是如何将docker网络连接到外部世界