Docker Swarm: развертывание контейнеров на рабочем узле

Я пытаюсь развернуть приложение на нескольких экземплярах. На главном узле я использовал эти команды:

  • docker swarm init
  • docker network create --attachable --driver overlay fabric
  • docker stack deploy --compose-file docker-compose-org2.yaml fabric

И служба была развернута на главном узле и работает правильно.

Теперь у меня есть еще один файл набора с именем: docker-compose-orderer.yaml, который я хочу развернуть на другом экземпляре AWS.

Я использовал следующую команду на worker node:

  • docker swarm join --token SWMTKN-1-29jg0j594eluoy8g86dniy3opax0jphhe3a4w3hjuvglekzt1b-525ene2t4297pgpxp5h5ayf89 <IP>:2377
  • docker stack deploy --compose-file docker-compose-org1.yaml fabric

Это команда docker stack deploy --compose-file docker-compose-org1.yaml fabric говорит this node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again

Кто-нибудь знает, как развернуть файл набора в рабочем узле?

Любая помощь / предложение будут оценены.

Обновление 1:

Рабочий узел успешно присоединился к менеджеру роя.

ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
qz9y7p1ba3prp23xtuv3uo2dk     ip-172-31-18-206    Ready               Active                                  18.06.1-ce
no97mrg6f7eftbbeu86xg88d9 *   ip-172-31-40-235    Ready               Active              Leader              18.06.1-ce

person Akshay Sood    schedule 24.08.2018    source источник
comment
да, я вижу узел. Проверить обновленные данные   -  person Akshay Sood    schedule 24.08.2018


Ответы (1)


вы должны применить все команды docker service и docker stack на управляющих узлах. он автоматически развернет контейнеры на менее используемых узлах. когда вы хотите явно развернуть контейнер на определенном узле, вы должны пометить этот узел и работать с ограничениями.

person Markus    schedule 24.08.2018
comment
@paskl подключите локальный демон docker к демону docker узла-менеджера или ssh к узлу-менеджеру и выполните там свою команду. - person Markus; 02.04.2019