docker swarm init konnte nicht wählen Sie eine IP-Adresse Fehler
Experimentieren mit Docker Swarm mit Andockfenster Desktop für Mac. Ich versuchte dies:
docker-machine create -d virtualbox node-1
docker-machine create -d virtualbox node-2
docker-machine create -d virtualbox node-3
eval $(docker-machine env node-1)
docker swarm init \
--secret my-secret \
--auto-accept worker \
--listen-addr $(docker-machine ip node-1):2377
Den letzten Befehl (docker swarm init
) gibt diesen Fehler zurück:
Fehler Antwort vom Dienst: konnte nicht wählen Sie eine IP-Adresse zu
werben, da dieses system hat mehrere Adressen
Ich habe keine Ahnung, was Los ist. Jemand eine Idee, wie das zu Debuggen?
InformationsquelleAutor Justin | 2016-07-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update 2017-05-24:
Vorherige Antwort war für einen frühen Zustand der Schwarm-Modus. Das Geheimnis und die auto-accept-Optionen wurden inzwischen entfernt, und die Werbe-addr option wurde Hinzugefügt. Dies kann jetzt durch mit:
Der port wird standardmäßig 2377. Sie können auch ein Netzwerk-interface-Namen anstelle einer IP-Adresse und Schwarm-lookup wird die IP-Adresse für das interface. Die listener-Adresse ist immer noch eine option, aber der Standard ist zu hören, auf alle Schnittstellen, die in der Regel die bevorzugte Lösung.
Original Antwort:
Ich nicht getan habe, diese mit docker-Maschine noch nicht, aber ich weiß, dass der neue Schwarm ist sehr empfindlich auf die Einträge in der /etc/hosts. Stellen Sie sicher, dass Ihre ip und hostname sind in dieser Datei, und nur in einem einzigen Ort (nicht zugeordnet loopback oder jede andere interne Adressen). Wie der RC3, Sie sind auch mit der listener-Adresse für das werben-Adresse, zu, so stellen Sie sicher, dass dieser hostname oder ip-auf die verwiesen werden kann, die von allen Knoten im Schwarm (ziemlich sicher, dass ein Update kommt, dass, wenn schon nicht hier).
Minimiert das Risiko von Problemen zwischen client-und server-Versionen würde ich auch die Befehle ausführen, die direkt innerhalb der virtualbox, anstatt mit docker-Maschine-Umwelt-Variablen.
Schön zu sehen, werben-addr machte es in RC4. Konfigurieren Sie die öffentliche ip oder den Hostnamen mit
--advertise-addr
und dann eben ein--listen-addr 0.0.0.0:2377
(unter der Annahme, dass dein port).Es funktionierte
docker swarm init --advertise-addr X.X.X.X
hier geben Sie die ip-Adresse Ihres hostInformationsquelleAutor BMitch
Nach Dockers guide: https://docs.docker.com/get-started/part4/#create-a-cluster
Ja sehr schön! funktionierte perfekt
InformationsquelleAutor Jesus Almaral
Ersten Blick für die öffentliche IP von deinem Computer in Ihrem Netzwerk
pick von den physischen wie 192.168.1.x (nicht docker0, das ist eine virtuelle IP-internen Docker)
(standardmäßig port 2377)
InformationsquelleAutor Genovo
Habe den gleichen Fehler bei der Verwendung von docker mit envs zu verbinden, um die docker-Maschine-Maschine erstellt.
Nach
docker-machine ssh <machine-name>
, und das tun diedocker swarm init
lokal auf der Maschine, bekam ich die Nachricht, über-werben-addr gut. Der lokale Befehldocker swarm init --listen-addr 192.168.99.100:2377 --advertise-addr 192.168.99.100:2377
dann gearbeitet.InformationsquelleAutor user2389922
Überprüfen
docker --version
und stellen Sie sicher, dass client und server auf der gleichen version. Wenn Sie unterschiedlich sind, verwenden Sie den folgenden Befehl zum ziehen der boot2docker-version entspricht, mit der docker-client auf Ihrem Computer.docker-machine create --driver virtualbox --virtualbox-boot2docker-url https://github.com/boot2docker/boot2docker/releases/download/v1.12.0-rc4/boot2docker-experimental.iso manager1
InformationsquelleAutor srivats