Почему два узла docker swarm получают одно и то же имя?

Я новичок в режиме роя Docker, изучаю руководство по адресу 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

Это приводит к сбою команды слива:

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

Если я использую идентификатор, команда работает.

Я видел Docker swarm: как вручную установить имена узлов? , но мое окружение отличается. Мой управляющий узел — это ящик Ubuntu с именем хоста bunty, а мои рабочие — это ящик Windows с именем хоста VADER и мой MacBook Pro с именем хоста newt. На всех установлена ​​последняя версия Docker 1.12.x.

Я ожидал, что имена узлов будут bunty, VADER и newt соответственно, но вместо этого я получаю bunty для менеджера и moby для обоих рабочих.

Что дает? Похоже, что в команде docker swarm join нет опции, позволяющей мне вручную назвать узел, и у каждого рабочего процесса есть уникальное имя хоста.


person Matthew Adams    schedule 14.12.2016    source источник