Machine: docker-machine --swarm-discovery с токеном не работает?

Созданный на 27 сент. 2016  ·  4Комментарии  ·  Источник: docker/machine

Я пытаюсь сделать так, чтобы и у диспетчера докеров, и у рабочих докеров был предварительно выбранный токен, который они могут использовать, поэтому мне не нужно docker ssh и запускать дальнейшие команды. Документы, похоже, поддерживают этот процесс с помощью флага --swarm-discovery с токеном.

docker run swarm create

Используйте этот токен ниже в следующей команде:

docker-machine create --swarm-master --swarm --driver virtualbox --swarm-discovery token://b4e72945cb52c1324REDACTED manager2

  1. Я могу запустить docker-machine ssh но когда я запускаю docker node ls он говорит: «Этот узел не является менеджером роя. Используйте «docker swarm init» или «docker swarm join», чтобы подключить этот узел к swarm и повторить попытку ». а затем мне нужно запустить docker swarm init.
    Однако, глядя на процессы, я вижу следующее:
    /swarm manage --tlsverify --tlscacert=/var/lib/boot2docker/ca.pem --tlscert=/var/lib/boot2docker/server.pem --tlskey=/var/lib/boot2docker/server-key.pem -H tcp://0.0.0.0:3376 --strategy spread --advertise 192.168.99.100:3376 token://b4e72945cb52c1324REDACTED
  2. Та же проблема возникает, когда я пытаюсь запустить docker-machine create --swarm --driver virtualbox --swarm-discovery "token://b4e72945cb52c1324REDACTED" worker1 , потому что он не присоединяется автоматически к рой ... Мне нужно ssh и запустить docker join.

Таким образом, я не вижу смысла использования флага --swarm-discovery в протоколе токенов.

$ docker -v
Docker version 1.12.1, build 6f9534c

$ docker-machine -v
docker-machine version 0.8.1, build 41b3b25

Самый полезный комментарий

Вы смешиваете "классический рой" (https://github.com/docker/swarm) и "режим роя" (представленный в 1.12 и встроенный в движок).

Чтобы использовать "классический рой", вы делаете eval $(docker-machine env --swarm manager) . Если вы хотите использовать новые функции режима роя, вам нужно самостоятельно запустить команды init и join на узлах vbox - спасибо

Все 4 Комментарий

@ahmetalpbalkan - Думаю, это исправление другой проблемы?

@ pc-mreeves да, моя ошибка

Вы смешиваете "классический рой" (https://github.com/docker/swarm) и "режим роя" (представленный в 1.12 и встроенный в движок).

Чтобы использовать "классический рой", вы делаете eval $(docker-machine env --swarm manager) . Если вы хотите использовать новые функции режима роя, вам нужно самостоятельно запустить команды init и join на узлах vbox - спасибо

@nathanleclaire Мне потребовалось много времени, чтобы понять, как

Была ли эта страница полезной?
0 / 5 - 0 рейтинги