Machine: docker-machine --swarm-discovery with token 似乎不起作用?

创建于 2016-09-27  ·  4评论  ·  资料来源: docker/machine

我试图做的是让 docker manager 和 docker workers 都有一个他们可以使用的预选令牌,所以我不需要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) 。 如果你想使用新的群模式功能,你必须自己在 vbox 节点上运行initjoin命令——谢谢

所有4条评论

@ahmetalpbalkan - 我认为这可能是解决不同问题的方法?

@pc-mreeves 是的,我的错误

您正在混合“经典群”(https://github.com/docker/swarm)和“群模式”(在 1.12 中引入并捆绑到引擎中)。

要使用“经典群”,您可以执行eval $(docker-machine env --swarm manager) 。 如果你想使用新的群模式功能,你必须自己在 vbox 节点上运行initjoin命令——谢谢

@nathanleclaire我花了很长时间才知道如何在使用 docker-machine 时配置 swarm 模式。 似乎没有必要,因为新模式很简单,谢谢您的评论。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

diver-sity picture diver-sity  ·  4评论

nathanleclaire picture nathanleclaire  ·  4评论

AlexZeitler picture AlexZeitler  ·  4评论

masaeedu picture masaeedu  ·  4评论

BretFisher picture BretFisher  ·  5评论