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
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./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
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
@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.
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 Befehleinit
undjoin
auf den vbox-Knoten selbst ausführen - danke