2016-04-13 3 views
8

У меня есть кластер клана докеров, он содержит 1 мастер-3 узла. При развертывании контейнера через мастер-рой, например с командой нижемы можем развернуть контейнер в конкретный узел в докеровском рое

docker -H tcp://<master_ip>:5001 run -dt --name swarm-test busybox /bin/sh 

Swarm будет автоматически выбрать узел и развернуть свой контейнер. Есть ли способ выбрать узел? например, я хочу развернуть контейнер в узле 1.

ответ

4

Взгляните на документы Swarm filter. Вы можете установить различные ограничения на то, какой узел Swarm должен выбрать для любого данного контейнера. В вашем случае попробовать что-то вроде:

docker run ... -e constraint:node==node1 ... 

Это было бы начать контейнер на node1.

+0

Что такое «node1»? имя хоста ..? мне нужно на самом деле запустить его на node1, но докер не понимает, что такое node1 – holms

+0

ok, так что это первая часть имени хоста, поэтому мне пришлось извлечь его с помощью terraform: может быть, кому-то будет интересно: 'sudo docker -tls -H $ {aws_instance.master.0.private_ip}: обновление узла 2376 --label-add name = slave - $ {count.index} $ {element (split (".", self.private_dns), 0)} ' – holms

Смежные вопросы