Da ich Docker gerade auf 1.1.0 aktualisiert habe, bekomme ich:
Fehlerantwort vom Daemon: Client und Server haben nicht dieselbe Version (Client: 1.13, Server: 1.12)
Wissen Sie, wie Sie das beheben können?
Ich habe wieder auf 1.0.1 umgestellt und alles funktioniert wieder.
docker
boot2docker
docker-machine
soenke
quelle
quelle
boot2docker
. Ist das auch dein Fall?boot2docker
Problem handelt (zum späteren Nachschlagen).Antworten:
Es sieht so aus, als müssten Sie die VM nach der Installation von boot2docker aktualisieren:
( https://github.com/boot2docker/osx-installer/releases/tag/v1.1.0 )
quelle
An error occurred trying to connect: Get https://192.168.59.103:2376/v1.19/containers/json?all=1: x509: certificate is valid for 127.0.0.1, 10.0.2.15, not 192.168.59.103
: /boot2docker delete
dannboot2docker init
und es fing an zu funktionieren.Dies kann passieren, wenn Sie Docker aktualisiert haben, der Dienst jedoch nicht neu gestartet wurde. Sie werden dann versuchen, mit dem aktualisierten Client eine Verbindung zum Docker-Dämon herzustellen, während auf dem Dämon (der bereits vor dem Update ausgeführt wurde) noch die ältere Version ausgeführt wird.
Starten Sie den Dienst neu, um dies zu beheben:
sysV init:
service docker restart
systemd:
systemctl daemon-reload
systemctl restart docker
quelle
systemd
es wird empfohlen,systemctl daemon-reload
vorsystemctl restart docker
docker-machine
Wenn Sie lokale VirtualBox-basierte Computer verwalten, ist die Lösung so einfach wie für boot2docker:Es wird
docker-machine
aufgefordert, die neueste Version herunterzuladenboot2docker.iso
und als neues Root-Dateisystem in der aktualisierten VM zu platzieren.Auf dem von VirtualBox unterstützten Docker-Computer ist das Root-Dateisystem übrigens schreibgeschützt. Das heißt, es ist nicht möglich, dass ein manuelles Update den Neustart des Computers überlebt. Das war eine Überraschung für mich.
quelle
Ich hatte die neueste Version von boot2docker, docker und virtual box, erhielt aber immer noch diese Nachricht. Es scheint, dass Laufen
brew upgrade boot2docker
nicht die beste Idee ist. Beim Ausführenboot2docker upgrade
wurde ich gebeten, eine Reihe von Umgebungsvariablen festzulegen, und dann funktionierte es für mich.Boot2docker hat mich gebeten, diese einzustellen (siehe die letzten Zeilen):
Es ist möglich, diese drei Zeilen auf einmal auszuschneiden und in Ihr Terminal einzufügen.
Um zu überprüfen, ob sie korrekt sind:
quelle
Ich habe versucht, einen Docker-Server mit einem neueren Client abzufragen:
Die Lösung für mich war nur:
export DOCKER_API_VERSION=1.21
Referenz: https://docs.docker.com/engine/reference/commandline/cli/
quelle
Die richtige Antwort hier ist sehr alt (Docker hat boot2docker in Docker Machine umbenannt und einige weitere Funktionen hinzugefügt) .
Wie auch immer, ich hatte das gleiche Problem und brauchte ungefähr 3 Tage, um es zu beheben :(
Hier ist die Lösung
1) Finden Sie den Standort des
boot2docker.iso
2) Löschen Sie die
boot2docker.iso
Datei, nachdem Sie eine Sicherungskopie erstellt haben3) Löschen Sie Ihren Docker vm
docker-machine rm {default}
dies sollte auch diesen löschen:
4) Erstellen Sie eine neue Docker-VM
boot2docker.iso
Dadurch wird zuerst eine neue heruntergeladen und dann zum Erstellen Ihrer VM verwendet.Nun sollte dies das Problem beheben :)
ABER
Versuchen Sie, die
boot2docker.iso
Datei manuell herunterzuladen, indem Sie zu https://api.github.com/repos/boot2docker/boot2docker/releases/latest gehen, dann auf klickenhtml_url
und schließlich die Datei herunterladen.Sobald Sie die Datei erhalten haben, legen Sie sie manuell ab
/Users/{user}/.docker/machine/cache/
Führen Sie diesen Befehl schließlich erneut aus
docker-machine create --driver virtualbox default
quelle
Das einzige, was für mich funktioniert hat, war, den Prozess zu beenden und ihn mit "sudo service docker start" zu starten.
quelle
Das einzige, was für mich funktioniert hat, war, das boot2docker-Image von VirtualBox zu entfernen, dann den
~/.boot2docker
Ordner vollständig zu löschen und schließlichboot2docker init
wieder auszuführen .quelle
boot2docker löschen
boot2docker init
arbeitete für mich. Stoppen / Starten Sie den Deamon natürlich davor und danach.
quelle
Das hat bei mir funktioniert: Es fährt einfach die VM herunter, löscht und erstellt sie neu und startet sie erneut. Shellinit wird erneut ausgeführt, sodass Ihre ENV-Variablen beim erneuten Start mit der richtigen IP-Adresse festgelegt werden.
quelle
Ich hatte die neueste Version von boot2docker (v1.7.1) und bekam den Client Server Server Mismatch Fehler. Dann bin ich einfach gelaufen
boot2docker upgrade
und es hat das Problem gelöst.quelle
Meine Lösung bestand darin, die Docker-VM in VirtualBox zu schließen> auszuschalten und dann Kitematic neu zu starten. Das hat es für mich behoben.
quelle
Ich finde, dass die Version in Brew im Vergleich zu der auf der Website docker.io veraltet ist. Daher denke ich, dass der beste Weg ist, auf die Website zu gehen und die Installationsdatei herunterzuladen.
quelle
Ansible Antwort:
Wenn Sie mit Ansible und nicht mit boot2docker dorthin gekommen sind, ist hier die Lösung: Verwenden Sie das
docker_api_version: auto
ArgumentIch denke, der Grund dafür ist, dass das von Ansible verwendete Docker-Py-Modul häufig nicht dieselbe Version wie das Ubuntu Apt-Get-Repository hat.
quelle