Итак, я запускаю виртуальные машины на VirtualBox, чтобы попытаться заставить Docker работать в распределенном режиме. Согласно этому руководству (https://docs.docker.com/get-started/part4/#configure-a-docker-machine-shell-to-the-swarm-manager), я установил виртуальную машину под названием "myvm1" в качестве менеджера роя с ssh myvm1 "docker swarm init --advertise-addr 10.0.2.15",
однако, когда я пытаюсь добавить рабочих в этот рой, я получаю сообщение об ошибке:
Error response from daemon: rpc error: code = Unavailable desc =
all SubConns are in TransientFailure, latest connection error:
connection error: desc = "transport: Error while dialing dial tcp
10.0.2.15:2377: connect: connection refused"
exit status 1
где 10.0.2.15 - это IP-адрес управляющей виртуальной машины, которую я получил при запуске VBoxManage guestproperty get myvm1 "/VirtualBox/GuestInfo/Net/0/V4/IP".
Кто-нибудь знает, в чем может быть причина? Мой IP неправильный? Мне нужно открывать порты?
К вашему сведению: Добавлять попытку добавления воркера надоело:
docker-machine ssh myvm2 "docker swarm join --token [token returned by swarm init on myvm1] 10.0.2.15:2377"
Не уверен, что еще я могу сделать.

Вероятно, это связано с тем, что вы используете Virtual Box. Это означает, что некоторые из ваших интерфейсов используются совместно с другими виртуальными машинами и хостом.
Если вы запускаете ifconfig на своих виртуальных машинах и хосте, выберите интерфейс, который будет отображать разные IP-адреса для каждой виртуальной машины.
У меня тоже была эта проблема, и я понял, что IP-адреса eth0 были одинаковыми на всех машинах. Конечно, это не сработает.
У eth1 также были разные IP-адреса для каждой машины.
Надеюсь это поможет.
Nevermind: работает после использования адреса eth1 вместо адреса eth0