С этих 19,03 выпусков существует теперь опция ограничить количество копий на узел для предотвращения нескольких копий, получающих доступ к тому же объему:
$ docker service create --help
Usage: docker service create [OPTIONS] IMAGE [COMMAND] [ARG...]
Create a new service
Options:
...
--replicas-max-per-node uint Maximum number of tasks per node (default 0 = unlimited)
С добавленным к эти service create
команда, следующий шаг будет включать предпочтение размещения составить файл для поддержки docker stack deploy
.
Да, это действительно работает, и использование глобального флага будет лучшим вариантом для предотвращения любых конфликтов. Я запустил аналогичную модель с MongoDB в качестве теста и работал отлично.