Nous avons un serveur Docker légèrement plus ancien fonctionnant sur RHEL 6.6. Il n'est pas bien pris en charge par notre équipe d'exploitation pour le moment, nous ne pouvons donc pas mettre à niveau facilement. À l'heure actuelle, il exécute Docker 1.3.2 à partir d'un dépôt EPEL. Si je le fais, il fait tout ce dont j'ai besoin pour des preuves de concept qui, je l'espère, m'aideront à pousser la direction à améliorer la prise en charge de l'infrastructure pour Docker.
Je l'ai configuré pour écouter sur TCP / TLS, et je suis capable de me connecter, mais il refuse d'exécuter les commandes données par mon client docker local.
$ 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)
Je sais que la connexion elle-même fonctionne car elle fig
fonctionne:
$ cat > fig.yml
test:
image: busybox
$ fig run --rm test sh
/ # hostname -f
084f75fb59d4
Existe-t-il un moyen de dire au nouveau client Docker d'utiliser l'ancienne version de l'API Docker jusqu'à ce que je puisse accéder à un hôte Docker plus récent?
Réponses:
Depuis Docker 1.10.0, il existe une option pour remplacer la version d'API utilisée pour la communication du client Docker avec le moteur Docker.
Juste en utilisant la variable d'environnement DOCKER_API_VERSION.
Ex.:
Référence: https://docs.docker.com/engine/reference/commandline/cli/#environment-variables
ÉDITER
Depuis Docker 1.13, CLI a une compatibilité descendante améliorée. Selon https://blog.docker.com/2017/01/whats-new-in-docker-1-13 :
la source
Si vous ne pouvez pas facilement mettre à niveau le serveur, vous devriez pouvoir rétrograder facilement votre client. Docker est open source sur GitHub . La version 1.3.3 était la dernière avec l'API client 1.15. Voici un lien direct vers le tag.
Faites simplement un clone local du référentiel, faites un build, faites un binaire puis échangez le binaire produit:
la source