2017-05-31 55 views
0

我有一个码头群集群。
我在码头集线器中有一个预配置的码头图像,我想按需运行一个图像容器。
我写了一个可以去一个主机并运行一个容器的api。
但是现在,我想旋转容器上的集群而不是指向单个主机。
我已经看到码头组成和码头堆栈。
但按照文档 If there are existing containers for a service, and the service’s configuration or image was changed after the container’s creation, docker-compose up picks up the changes by stopping and recreating the containers (preserving mounted volumes). 在群集中按需创建码头容器

那么,怎样才能在我的群集上的需求开始的容器?

回答

0

在Swarm中,您必须创建基于图像的服务才能创建容器。有2种模式,全局在每台机器上启动1个这个服务的容器,并且复制的swarm负载均衡器将选择将容纳容器的机器(当然你可以通过选项--constraint添加约束)。

docker service create --name=my_name --replicas=4 my_image 

如果要启动需求的容器,你必须扩展此服务任务(容器)的愿望数量。

docker service scale my_service=5 

例如,你可以使用SDK来获取服务的任务的数量和它扩展到服务的任务数+ 1

在我自己的经验,群仅适用于无状态的部件物品(真的不知道如何处理数据库...)

我希望我没有错过理解这个问题。

+0

我是否也可以根据需求使用此泊位服务规模策略来降低集装箱? – svKris

+0

当然,使用码头规模时,您可以选择容器的副本数量(由服务的映像定义)。这意味着你可以把0作为选项的参数来关闭每个容器或做任何你想要的。 您可以在管理器节点上使用'docker service ls'来查看服务运行的容器数量。如果达到内存限制,您可能会看到每个服务的容器都未启动。 – Nolyurn