Wir haben einen etwas älteren Docker-Server auf RHEL 6.6. Es wird derzeit von unserem Betriebsteam nicht gut unterstützt, daher können wir nicht einfach ein Upgrade durchführen. Derzeit wird Docker 1.3.2 von einem EPEL-Repository ausgeführt. Wenn ich dabei bin, wird alles getan, was ich für Proofs-of-Concept benötige, was mir hoffentlich dabei helfen wird, das Management dazu zu bringen, die Infrastrukturunterstützung für Docker in Zukunft zu verbessern.
Ich habe es so eingerichtet, dass es TCP / TLS überwacht, und ich kann eine Verbindung herstellen, aber es weigert sich, Befehle auszuführen, die von meinem lokalen Docker-Client gegeben wurden.
$ docker version
Client version: 1.4.1
Client API version: 1.16
Go version (client): go1.4
Git commit (client): 5bc2ff8
OS/Arch (client): darwin/amd64
FATA[0000] Error response from daemon: client and server don't have same version (client : 1.16, server: 1.15)
Ich weiß, dass die Verbindung selbst funktioniert, weil fig
funktioniert:
$ cat > fig.yml
test:
image: busybox
$ fig run --rm test sh
/ # hostname -f
084f75fb59d4
Kann ich dem neueren Docker-Client mitteilen, dass er die ältere Docker-API-Version verwenden soll, bis ich auf einen neueren Docker-Host zugreifen kann?
Antworten:
Seit Docker 1.10.0 gibt es eine Option zum Überschreiben der API-Version, die für die Docker-Client-Kommunikation mit Docker Engine verwendet wird.
Nur mithilfe der Umgebungsvariablen DOCKER_API_VERSION.
Ex.:
Referenz: https://docs.docker.com/engine/reference/commandline/cli/#environment-variables
BEARBEITEN
Seit Docker 1.13 verfügt CLI über eine verbesserte Abwärtskompatibilität. Laut https://blog.docker.com/2017/01/whats-new-in-docker-1-13 :
quelle
Wenn Sie den Server nicht einfach aktualisieren können, sollten Sie Ihren Client problemlos downgraden können. Docker ist Open Source bei GitHub . Version 1.3.3 war die letzte mit der 1.15-Client-API. Hier ist ein direkter Link zum Tag.
Erstelle einfach einen lokalen Klon des Repos, erstelle einen Build, erstelle eine Binärdatei und tausche dann die erzeugte Binärdatei aus:
quelle