Возможно, вы захотите использовать docker swarm , у которого есть функция, позволяющая вам развернуть контейнер на определенном узле, который называется Ограничения
Узел: Докер-узел относится к члену в кластере режима роя. Каждый узел роя должен быть док-хостом, Источник: В чем разница между док-хостом и узлом?
Ограничения могут рассматриваться как теги узла. Они представляют собой пары ключ / значение, связанные с конкретным узлом.
Каждый узел по умолчанию имеет следующие ограничения:
- node.id
- node.hostname
- node.role
Служба может быть развернута следующим образом:
docker service create --name backendapp --constraint 'node.hostname == web.example.com'
Обратите внимание, что вы можете развернуть в рое, используя docker-compose.yml
:
Команда deploy поддерживает файл compose версии 3.0 и выше.
docker stack deploy --compose-file docker-compose.yml mystack
Также вы можете установить ограничения в docker-compose
, как показано в следующем примере:
version: '3.3'
services:
web:
image: backendapp-image
deploy:
placement:
constraints:
- node.hostname == web.example.com
Вы можете начать с роя Docker через здесь