Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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模式,内部运行多个具有唯一域名的服务,但每个都在端口80上_Docker_Routing_Docker Compose_Microservices_Docker Swarm - Fatal编程技术网

Docker swarm模式,内部运行多个具有唯一域名的服务,但每个都在端口80上

Docker swarm模式,内部运行多个具有唯一域名的服务,但每个都在端口80上,docker,routing,docker-compose,microservices,docker-swarm,Docker,Routing,Docker Compose,Microservices,Docker Swarm,我正在尝试设置一个microservice部署(部署文件位于),其中包含多个服务,这些服务将使用HTTP(希望以后使用HTTPS)进行内部通信,而不会暴露在网络之外。我稍后将添加一个代理服务,它将公开特定的特性。我想特别使用docker swarm模式来实现这一点,我喜欢在docker-compose.yml中定义部署的可能性,这样我就可以开始使用: $ docker stack deploy my-platform -c docker-compose.example.yml 我希望API U

我正在尝试设置一个microservice部署(部署文件位于),其中包含多个服务,这些服务将使用HTTP(希望以后使用HTTPS)进行内部通信,而不会暴露在网络之外。我稍后将添加一个代理服务,它将公开特定的特性。我想特别使用docker swarm模式来实现这一点,我喜欢在docker-compose.yml中定义部署的可能性,这样我就可以开始使用:

$ docker stack deploy my-platform -c docker-compose.example.yml
我希望API URL在内部类似于GET和GET。我以前用Kubernetes的设置做过,效果很好,但现在我想用docker swarm模式来做

DNS部分工作没有任何问题,但docker swarm模式不允许我让每个服务监听端口80(稍后将是443)。它不断抱怨端口冲突,即使每个服务都有其唯一的域名,如身份提供者或组等

我应该使用特定的网络驱动程序来实现这一点吗?我目前使用覆盖

使用没有随机端口的域名将使服务之间的调用比其他服务更容易记住,例如,端口只会增加设置的复杂性

我可以使用任何超级尖端版本的docker ce,如果这有帮助的话


这应该是可能的,对吗?

Docker Swarm根据发布的端口路由传入请求,在一个群中不能有两个具有相同端口号的应用程序。

我想这是可能的,因为每个服务都有一个唯一的DNS记录。我假设每个服务也有一个唯一的IP,因此允许在同一端口上发布多个具有不同IP地址的服务。