Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
两个网络之间的通信-Docker Swarm_Docker_Docker Compose_Docker Swarm - Fatal编程技术网

两个网络之间的通信-Docker Swarm

两个网络之间的通信-Docker Swarm,docker,docker-compose,docker-swarm,Docker,Docker Compose,Docker Swarm,我正在学习Docker Swarm,我无法通过以下情况,即使搜索了很多: 我有一个Docker Compose文件,其中我启动了两个容器,一个用于API,另一个用于数据库,都使用后端网络 在同一个文件中,我有另一个容器,在其中我为API运行一个客户机,但是这个客户机我必须放在另一个网络中,称为客户机。在这个容器中,我不能ping后端网络中的容器,因为覆盖网络不像网桥网络那样配置它 有没有办法进行配置?据我所知,网络之间不应进行通信。这既不是错误,也不是错误配置。您只需将API放在与客户端相同的网

我正在学习Docker Swarm,我无法通过以下情况,即使搜索了很多:

我有一个Docker Compose文件,其中我启动了两个容器,一个用于API,另一个用于数据库,都使用后端网络

在同一个文件中,我有另一个容器,在其中我为API运行一个客户机,但是这个客户机我必须放在另一个网络中,称为客户机。在这个容器中,我不能ping后端网络中的容器,因为覆盖网络不像网桥网络那样配置它


有没有办法进行配置?

据我所知,网络之间不应进行通信。这既不是错误,也不是错误配置。您只需将API放在与客户端相同的网络中,这样客户端就可以使用API,但无法访问后端网络。确保API容器仍在后端网络中。

有任何原因导致无法将此容器连接到后端网络吗?没有,只是为了了解和理解网络的工作原理。我找到的解决方案是将API客户端放在两个网络中。这是可行的,但不是我最初想要的解决方案。然而,我还没有发现是否有可能在两个覆盖网络之间提供通信。其效果将与仅使用一个网络并将所有容器附加到该网络相同。这是真的,但我猜它应该会起作用,因为在Docker示例中,Worker.NET正是这么做的。