如何限制特定节点的服务副本数量?

时间:2017-09-18 14:13:02

标签: docker docker-swarm

用例:

我有2个节点,一台带有1GB内存的machineA和一台带有4GB内存的machineB。

我使用5个réplicas的Java容器部署一个使用1 GB内存的服务。

在machineA上将有一个Java容器,在机器B上将有4个Java容器。

如果我关闭machineB怎样才能阻止machineA启动4 Java?

该机器没有足够的RAM来启动这些容器,而不是提高可用性,它会减少它。

1 个答案:

答案 0 :(得分:3)

此功能目前尚不存在。同一个

有一个未解决的问题

https://github.com/docker/swarm/issues/1734

您应该做的是添加内存要求的约束。因此,如果您为每个容器添加500MB,那么这将阻止这种情况

docker service create --name nginx --reserve-memory 500Mb --replicas 3 nginx