Machine: Ответ об ошибке от демона: ошибка rpc: код = 13 desc = ошибка соединения: desc = "транспорт: удаленная ошибка: tls: неверный сертификат"

Созданный на 20 апр. 2017  ·  28Комментарии  ·  Источник: docker/machine

Всем привет,

Следуя руководству по началу работы для кластера, я столкнулся с проблемой при присоединении к локальному рою, созданному в виртуальном боксе.

Используемые версии

docker -v
Docker version 17.03.1-ce, build c6d412e
docker-machine -v
docker-machine version 0.10.0, build 76ed2a6
docker-compose -v
docker-compose version 1.12.0, build b31ff33
vboxmanage -v
5.1.20r114628

Вот полная выполняемая команда

docker<strong i="12">@myvm1</strong>:~$ docker swarm init --advertise-addr 192.168.99.103:2376
Swarm initialized: current node (e2nvv6m8fadlcrzayk0ddp14c) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join \
    --token <token-replaced> \
    192.168.99.103:2376

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

docker<strong i="13">@myvm1</strong>:~$ exit
compose $ docker-machine ssh myvm2 "docker swarm join \
> --token <token-replaced> \
> 192.168.99.103:2376"
Error response from daemon: rpc error: code = 13 desc = connection error: desc = "transport: remote error: tls: bad certificate"
exit status 1

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

На этот раз это сработало для меня. Я предполагаю, что вы делаете --advertise-addr с IP-адресом и портом, которые находятся в docker-machine ls . Вы должны использовать ПОРТ 2377 в соответствии с инструкциями. Тогда вроде работает.

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

Любые обновления по этому поводу?

Столкнувшись с той же проблемой

Обратите внимание, что я могу пинговать друг друга с этих двух виртуальных машин.

У меня такая же проблема.
Я вручную установил docker-machine , я пробовал это на Centos 7 и Ubuntu 16.04.

Docker version 17.03.1-ce, build c6d412e
docker-machine version 0.10.0, build 76ed2a6

Пожалуйста помогите.

У меня точно такая же проблема.

На этот раз это сработало для меня. Я предполагаю, что вы делаете --advertise-addr с IP-адресом и портом, которые находятся в docker-machine ls . Вы должны использовать ПОРТ 2377 в соответствии с инструкциями. Тогда вроде работает.

@lupulin , спасибо, у меня это сработало, когда я использовал ПОРТ 2377.

@lupulin @dipuratheesan У меня была такая же проблема, и у меня это тоже сработало, используя порт 2377.

Была такая же проблема, 2377, кажется, работает, но я понятия не имею, почему.

@tstrijdhorst на самом деле говорит в документации по началу работы, что порт 2377 зарезервирован для присоединения узлов к рою.

Примечание. Получение сообщения об ошибке о необходимости использования --advertise-addr? Скопируйте IP-адрес для myvm1, запустив docker-machine ls, затем снова запустите команду инициализации docker swarm, используя этот IP-адрес и указав порт 2377 (порт для присоединения swarm) с --advertise-addr. Например:

docker-machine ssh myvm1 "docker swarm init --advertise-addr 192.168.99.100:2377"

да вот так же. Спасибо.

Благодарность!

У меня тоже сработало - спасибо!

Если вы использовали "--advertise-addr" при выполнении команды "docker swarm init....", то вам нужно использовать флаг --advertise-addr и при присоединении к узлам.

например
Назначение узла в качестве менеджера
docker swarm init --advertise-addr <ip>:<port>

узел присоединения:
docker swarm join --token <token> --advertise-addr <ip>:<port>

Примечание. IP и ПОРТ одинаковы в обеих приведенных выше командах.

2377 мне помогло!

В учебнике объясняется, что в примечании о --advertise-addr

Получение сообщения об ошибке о необходимости использования --advertise-addr?

Скопируйте IP-адрес для myvm1, запустив docker-machine ls, затем снова запустите команду инициализации docker swarm, используя этот IP-адрес и указав порт 2377 (порт для присоединения swarm ) с помощью --advertise-addr.

Хотя это сбивает с толку. Учебник правильный, но при запуске команд для инициализации роя докеров пользователь видит:

$ docker-machine ssh myvm1 "docker swarm init --advertise-addr 192.168.99.100:2376"
Swarm initialized: current node (xpjllelqsli4xk2m9f8plzzc7) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-2xw6b7rsyn5ou92rejukqvtayar3t9jz68eqd7y0m367psu7vf-dcdk4bd7lhashxx9ki460su7h \
    192.168.99.100:2376

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

Примечание: порт 2376.

Было бы неплохо, если бы Machine могла понять, что в сгенерированном сообщении должно быть 2377, если это возможно. Но я знаю, что машины под капотом создаются VirtualBox, и это может быть трудно определить.

Мне помогло изменение порта на 2377 .

docker swarm join --token SWMTKN-1-RANDOMTOKEN 192.168.99.100:2377

2377 сработало - может ли докер исправить вывод «копируемого текста», чтобы исправить это?

2377 мне тоже помогло

кто-нибудь может объяснить ip?

Столкнулся с той же проблемой 2377 заработал. Возможно, предложение в «Начало работы» следует перефразировать, чтобы сделать его более ясным.

Была такая же проблема, и у меня работал порт 2377. Это странно, потому что docker-machine ls показывает порт 2376. Где-то здесь определенно есть ошибка.

NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
myvm1 - virtualbox Running tcp://192.168.99.100:2376 v17.06.2-ce
myvm2 - virtualbox Running tcp://192.168.99.101:2376 v17.06.2-ce

удалить порт
пример:
docker-machine ssh myvm2 "присоединение к рою докеров \
> --токен\
> 192.168.99.103:2376"

2377 — это порт управления роем.
2376 — это порт Docker Daemon.
Мы всегда должны использовать 2377 или оставить его пустым и оставить его по умолчанию.

У меня сработало использование порта 2377 - спасибо за этот форум 👍 🥇

Разве сообщение, которое выводится после создания роя докеров, не должно быть изменено с порта 2376 на 2377, есть ли причина, по которой это остается как есть?

Спасибо!

При присоединении рабочего к узлу Manager возникает следующая ошибка

Ответ об ошибке от демона: ошибка rpc: код = недоступно desc = все SubConns находятся в TransientFailure, последняя ошибка подключения: ошибка подключения: desc = транспорт: ошибка подтверждения аутентификации: x509: срок действия сертификата истек или еще не действителен

Решено: синхронизация NTP между диспетчером и рабочим узлом.

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