Machine: Fehlerantwort vom Daemon: rpc error: code = 13 desc = Verbindungsfehler: desc = "transport: remote error: tls: bad certificate"

Erstellt am 20. Apr. 2017  ·  28Kommentare  ·  Quelle: docker/machine

Hi,

Während ich dem Startleitfaden für Cluster folge, stehe ich vor dem Problem, wenn ich mich dem lokalen Schwarm anschließe, der auf Virtualbox erstellt wurde

Verwendete Versionen

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

Hier wird der vollständige Befehl ausgeführt

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

Hilfreichster Kommentar

Bei mir hat es diesmal geklappt. Ich nehme an, Sie machen --advertise-addr mit der IP und dem Port in docker-machine ls . Sie müssen PORT 2377 gemäß den Anweisungen verwenden. Dann scheint es zu funktionieren.

Alle 28 Kommentare

Irgendwelche Updates dazu?

Stehe vor dem gleichen Problem

Bitte beachten Sie, dass ich von diesen beiden VMs aus pingen kann.

Ich habe das gleiche Problem.
Ich habe docker-machine manuell installiert, ich habe dies auf Centos 7 und Ubuntu 16.04 versucht.

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

Bitte hilf mir.

Ich habe das gleiche Problem.

Bei mir hat es diesmal geklappt. Ich nehme an, Sie machen --advertise-addr mit der IP und dem Port in docker-machine ls . Sie müssen PORT 2377 gemäß den Anweisungen verwenden. Dann scheint es zu funktionieren.

@lupulin , danke, es hat bei mir funktioniert, als ich PORT 2377 verwendet habe

@lupulin @dipuratheesan Ich hatte das gleiche Problem und es funktionierte auch für mich mit Port 2377.

Hatte das gleiche Problem, 2377 scheint zu funktionieren, aber ich habe keine Ahnung warum.

@tstrijdhorst In der Dokumentation zu den ersten Schritten heißt es tatsächlich, dass der Port 2377 für den Beitritt von Knoten zum Schwarm reserviert ist.

Hinweis: Erhalten Sie eine Fehlermeldung, dass Sie --advertise-addr verwenden müssen? Kopieren Sie die IP-Adresse für myvm1, indem Sie docker-machine ls ausführen, und führen Sie dann den Befehl docker swarm init erneut aus, wobei Sie diese IP verwenden und Port 2377 (den Port für Swarm Joins) mit --advertise-addr angeben. Beispielsweise:

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

Ja, es geht mir genauso. Danke.

Danke!

Hat bei mir auch funktioniert - danke!

Wenn Sie "--advertise-addr" beim Ausführen des Befehls ""docker swarm init..." verwendet haben, müssen Sie das Flag --advertise-addr auch beim Verbinden von Knoten verwenden.

z.B
Knoten als Manager ernennen
docker swarm init --advertise-addr <ip>:<port>

Beitrittsknoten:
docker swarm join --token <token> --advertise-addr <ip>:<port>

Hinweis: IP und PORT sind in beiden obigen Befehlen gleich.

2377 hat bei mir funktioniert!

Das Tutorial hat das im Hinweis zu --advertise-addr erklärt

Erhalten Sie eine Fehlermeldung über die Notwendigkeit, --advertise-addr zu verwenden?

Kopieren Sie die IP-Adresse für myvm1, indem Sie docker-machine ls ausführen, und führen Sie dann den Befehl docker swarm init erneut aus, wobei Sie diese IP verwenden und Port 2377 (den Port für Swarm Joins ) mit --advertise-addr angeben

Es ist jedoch verwirrend. Das Tutorial ist korrekt, aber beim Ausführen der Befehle zum Initialisieren des Docker-Schwarms sieht ein Benutzer Folgendes:

$ 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.

Hinweis: Port 2376

Es wäre schön, wenn Machine erkennen könnte, dass die generierte Nachricht 2377 lauten sollte, wenn das möglich ist. Aber ich weiß, dass die Maschinen unter der Haube von VirtualBox erstellt werden, und das könnte schwierig zu bestimmen sein.

Das Ändern des Ports auf 2377 hat für mich funktioniert.

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

2377 hat funktioniert - könnte Docker den ausgegebenen 'Kopiertext' reparieren, um dies zu beheben?

2377hat auch bei mir funktioniert

jemand könnte die ip erklären?

Habe das gleiche Problem 2377 hat funktioniert. Vielleicht sollte der Satz im Get Started umformuliert werden, um ihn klarer zu machen.

Hatte das gleiche Problem und Port 2377 hat bei mir funktioniert. Es ist jedoch seltsam, weil docker-machine ls Port 2376 anzeigt. Hier ist definitiv irgendwo ein Fehler.

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

den Hafen entfernen
Beispiel:
docker-machine ssh myvm2 "docker swarm join \
> -Token\
> 192.168.99.103:2376"

2377 ist der Schwarmverwaltungsport.
2376 ist der Docker-Daemon-Port.
Wir sollten immer 2377 verwenden oder es leer lassen und es als Standard verwenden

Die Verwendung von Port 2377 hat bei mir funktioniert - danke für dieses Forum 👍 🥇

Sollte die Nachricht, die nach der Erstellung des Docker-Schwarms ausgegeben wird, nicht von Port 2376 auf 2377 geändert werden, gibt es einen Grund, warum dies so belassen wird?

Danke!

Beim Verbinden des Workers mit dem Manager-Knoten wird der folgende Fehler angezeigt

Fehlerantwort vom Daemon: rpc error: code = Unavailable desc = alle SubConns sind in TransientFailure, letzter Verbindungsfehler: Verbindungsfehler: desc = Transport: Authentifizierung Handshake fehlgeschlagen: x509: Zertifikat abgelaufen oder noch nicht gültig

Gelöst: NTP-Synchronisierung zwischen Manager und Worker-Knoten.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen