Machine: docker-machine --swarm-discovery mit Token scheint nicht zu funktionieren?

Erstellt am 27. Sept. 2016  ·  4Kommentare  ·  Quelle: docker/machine

Was ich versuche, ist, dass sowohl der Docker-Manager als auch die Docker-Mitarbeiter über ein vorausgewähltes Token verfügen, das sie verwenden können, damit ich nicht docker ssh ausführen und weitere Befehle ausführen muss. Die Dokumentation scheint diesen Prozess mit dem Flag --swarm-discovery mit einem Token zu unterstützen.

docker run swarm create

Verwenden Sie dieses Token unten im nächsten Befehl:

docker-machine create --swarm-master --swarm --driver virtualbox --swarm-discovery token://b4e72945cb52c1324REDACTED manager2

  1. Ich kann docker-machine ssh ausführen, aber wenn ich docker node ls ausführe, heißt es: 'Dieser Knoten ist kein Schwarmmanager. Verwenden Sie "docker swarm init" oder "docker swarm join", um diesen Knoten mit dem Schwarm zu verbinden und es erneut zu versuchen.' und dann muss ich docker swarm init ausführen.
    Wenn ich mir jedoch die Prozesse anschaue, sehe ich Folgendes:
    /swarm manage --tlsverify --tlscacert=/var/lib/boot2docker/ca.pem --tlscert=/var/lib/boot2docker/server.pem --tlskey=/var/lib/boot2docker/server-key.pem -H tcp://0.0.0.0:3376 --strategy spread --advertise 192.168.99.100:3376 token://b4e72945cb52c1324REDACTED
  2. Das gleiche Problem tritt auf, wenn ich versuche, docker-machine create --swarm --driver virtualbox --swarm-discovery "token://b4e72945cb52c1324REDACTED" worker1 auszuführen, da es nicht automatisch dem Schwarm beitritt ... Ich muss ssh und docker join ausführen.

Daher sehe ich den Sinn des Flags --swarm-discovery bei Verwendung des Token-Protokolls nicht.

$ docker -v
Docker version 1.12.1, build 6f9534c

$ docker-machine -v
docker-machine version 0.8.1, build 41b3b25

Hilfreichster Kommentar

Sie mischen "klassischer Schwarm" (https://github.com/docker/swarm) und "Schwarmmodus" (eingeführt in 1.12 und gebündelt in der Engine).

Um "klassischen Schwarm" zu verwenden, tun Sie eval $(docker-machine env --swarm manager) . Wenn Sie die neuen Schwarmmodus-Funktionen nutzen möchten, müssen Sie die Befehle init und join auf den vbox-Knoten selbst ausführen - danke

Alle 4 Kommentare

@ahmetalpbalkan - Ich denke, dies ist vielleicht eine Lösung für ein anderes Problem?

@pc-mreeves ja mein Fehler

Sie mischen "klassischer Schwarm" (https://github.com/docker/swarm) und "Schwarmmodus" (eingeführt in 1.12 und gebündelt in der Engine).

Um "klassischen Schwarm" zu verwenden, tun Sie eval $(docker-machine env --swarm manager) . Wenn Sie die neuen Schwarmmodus-Funktionen nutzen möchten, müssen Sie die Befehle init und join auf den vbox-Knoten selbst ausführen - danke

@nathanleclaire Ich habe lange konfiguriert . Es scheint nicht notwendig zu sein, da der neue Modus dank Ihres Kommentars einfach genug ist.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen