Ich befolge diese Schritte, um Docker Schwarm Cluster zu erstellen.Docker Swarm Manager kann Schwarm Knoten nicht erkennen
erstellen Cunsol
$ Docker-Maschine -d virtualbox mh-Schlüsselspeicher
$ eval "$ (Docker-Maschine env mh-Schlüsselspeicher)"
$ Docker -d \
-p ausführen erstellen "8500: 8500" \
-h "Konsul" \
progrium/Konsul -server -bootstrapSchwarm Manager
$ docker erstellen -machine create -d virtualbox node1
$ docker laufen -d -p 4000: 4000 swarm manage -H: 4000 --replikation - werben $ (docker-machine ip knoten1): 4000 consul: // $ (docker-machine ip mh-Schlüsselspeicher): 8500create Schwarm Knoten
$ docker-Maschine erstellen -d virtualbox Knoten2
$ Andockfenster laufen -d Schwarm beitreten --advertise = $ (docker-Maschine ip Knoten2): 2375 Konsul : // $ (docker-Maschine ip mh-Schlüsselspeicher): 8500Login node1
$ docker-Maschine ssh node1
$ Docker -H: 4000 info
Aber diese Befehlsausgabe
(unknown): 192.168.99.106:2375(node2 ip)
└ ID:
└ Status: Pending
└ Containers: 0
└ Reserved CPUs: 0/0
└ Reserved Memory: 0 B/0 B
└ Labels:
└ Error: Cannot connect to the Docker daemon. Is the docker daemon running on this host?....
Wie kann ich dieses Problem beheben?
Ich habe bereits node2 überprüft und es läuft gut.
[Update] Ich folge this page und es funktioniert gut. Aber ich möchte immer noch wissen, wie man Schwarmcluster ohne Docker-Maschine aufstellt.
[Update] Ein anderer Ansatz funktioniert auch nicht.
docker-machine create -d virtualbox \
--swarm \
--swarm-discovery="consul://$(docker-machine ip mh-keystore):8500" \
--engine-opt="cluster-store=consul://$(docker-machine ip mh-keystore):8500" \
--engine-opt="cluster-advertise=eth1:2376" \
mhs-demo1
Node1 Docker info erscheinen mhs-demo1 ip aber Info noch nicht bekannt ..
[Update]
wenn ich eval $ (Docker-Maschine env --swarm node1) Es
Error checking TLS connection: "node1" is not a swarm master. The --swarm flag is intended for use with swarm masters Does this cause error ? Why using swarm manager instruction to set up is not swarm master?
Es ist so seltsam. Wie kann ich das gleiche Ergebnis wie
docker-machine create \ -d virtualbox \ --swarm --swarm-master \ --swarm-discovery="consul://$(docker-machine ip mh-keystore):8500" \ --engine-opt="cluster-store=consul://$(docker-machine ip mh-keystore):8500" \ --engine-opt="cluster-advertise=eth1:2376" \ mhs-demo0
mit Schwarm-Anweisung erhalten?
Ich möchte Schwarm-Anweisung verwenden, weil ich nicht Schwarm-Master deklarieren möchte, wenn ich es erstelle.
Ja. Ich kenne diese Methoden. Aber ich möchte nur herausfinden, warum ein anderer Ansatz nicht funktioniert ....... –