Docker swarm使用本地服务实例

时间:2016-12-28 08:44:37

标签: docker docker-swarm

我尝试将项目从单个主机更新到多主机平台。 所以基本上我想从docker-compose部署切换到docker swarm。 我的应用看起来像这样: example app

我有2个应用程序app1和app2。 app1为app2创建一个巨大的文件。 该文件写在app1和app2容器之间共享的数据卷上。 以前我使用traefik路由从app1移动到app2。

现在要做到这一点,我创建了3个全局服务(一个用于app1,一个用于app2,一个用于traefik)。它正在工作,但当你从app1切换到app2时,traefik可以重定向到不同的主机。 (以下方案中的红色箭头)

(traefik规则类似于app1.domaine.com - > app1服务)

Topo swarm

那么我如何才能限制到本地主机服务的路由?

先谢谢你的帮助;)

1 个答案:

答案 0 :(得分:0)

在这里推断出理想的解决方案有点困难,但我不确定--global是否真的最合适。请查看--mounthttps://github.com/docker/docker/blob/master/docs/reference/commandline/service_create.md#add-bind-mounts-or-volumes)的文档。我想知道服务任务(容器)共享的命名卷是否比尝试创建全局服务更合适。这将在群集中的每个主机上为此服务创建容器。

  

那么我如何才能限制到本地主机服务的路由?

为什么要这么做?理想情况下,您应该能够在服务中的任务实例之间进行负载平衡而不会出现问题。如果你必须"坚持"对一个容器对的请求,只运行每个容器的一个实例并使用命名的卷。