|
|
1
5
0.0.0.0地址是一个通配符,它告诉应用程序在所有网络接口上侦听,而不是作为客户端连接到此接口。对于容器到容器的通信,您需要:
在您的情况下,命令应该是:
在容器内运行的应用程序中,网络是有名称空间的,因此每个容器都会获得开放的环回接口和网桥网络上的IP地址。因此,将应用程序移动到容器中意味着您需要监听0.0.0.0并使用DNS连接到网桥IP。 您还应该从Dockerfile中删除链接和依赖项,它们不适用于版本3。长期以来,人们一直反对使用链接来支持共享网络。而且depends_on在swarm模式下不起作用,可能也不会做你想做的事情,因为它从未检查过目标应用程序是否在运行,只是启动了该容器。 最后一点要注意的是,expose不会影响在公共网络上的容器或主机上的发布端口之间进行通信的能力。简单地在图像上设置元数据,这是创建图像的人和运行图像的人之间的文档。应用程序不需要使用该值,但为了下游用户的利益,将应用程序默认为该值是一个好习惯。因为它的作用,除非你有另一个应用程序检查暴露的端口列表,就像一个自更新的反向代理,没有必要在组成文件中公开端口,除非你把组成文件交给另一个人,他们需要文档。 |
|
|
2
3
Docker-compose.yaml中没有在Web和Gremlin之间配置链接。尝试使用以下方法:
|