1

我是一个 Docker swarm 模式新手,正在阅读https://docs.docker.com/engine/swarm/swarm-tutorial上的教程,并在我点击关于排水节点的章节时注意到(https://docs.docker.com /engine/swarm/swarm-tutorial/drain-node/)我的两个工作节点都被赋予了相同的名称,moby

matthew@bunty:~$ docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
3vkklry19mesmsjrgltj53kap    moby      Ready   Active
biur2a68tze2oykta9klklkeq    moby      Ready   Active
daf8npyma8r0dnmcxu6j491jq *  bunty     Ready   Active        Leader

这使得发出 drain 命令失败:

matthew@bunty:~$ docker node update --availability drain moby
Error response from daemon: node moby is ambiguous (2 matches found)

如果我使用 ID,则该命令有效。

我看到了Docker swarm:如何手动设置节点名称?,但我的环境不同。我的管理器节点是一个带有主机名的 Ubuntu 盒子bunty,我的工人是一个带有主机名的 Windows 盒子VADER和我的带有主机名的 MacBook Pro newt。所有人都在运行最新版本的 Docker 1.12.x。

我希望节点名称分别为bunty, VADER, & newt,但我却得到bunty了经理 &moby两个工人的名字。

是什么赋予了?命令中似乎没有docker swarm join让我手动命名节点的选项,并且每个工作人员都有一个唯一的主机名。

4

0 回答 0