Статически настроить микросервис для работы на определенной машине
Я создал 4 микро-сервисов, используя инфраструктуру Moleculer с docker-compose
, Как мне статически настроить каждый микросервис для работы на конкретной машине.
1 ответ
Вы можете использовать Docker Swarm, у которого есть функция, позволяющая вам развернуть контейнер на определенном узле, который называется Constraints
Узел: Докер узел относится к члену в кластере режима роя. Каждый узел роя должен быть док-хостом. Источник: В чем разница между хостом-докером и узлом?
Ограничения могут рассматриваться как теги узла. Они представляют собой пары ключ / значение, связанные с конкретным узлом.
Каждый узел по умолчанию имеет следующие ограничения:
- 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 через здесь