Desde o Docker 1.10.0, há uma opção para substituir a versão da API usada para comunicação do cliente do Docker com o mecanismo do Docker.
Apenas usando a variável de ambiente DOCKER_API_VERSION.
Ex .:
$ docker version
Client:
Version: 1.10.0
API version: 1.22
Go version: go1.5.3
Git commit: 590d510
Built: Fri Feb 5 08:21:41 UTC 2016
OS/Arch: darwin/amd64
Error response from daemon: client is newer than server (client API version: 1.22, server API version: 1.21)
$ DOCKER_API_VERSION=1.21 docker version
Client:
Version: 1.10.0
API version: 1.21
Go version: go1.5.3
Git commit: 590d510
Built: Fri Feb 5 08:21:41 UTC 2016
OS/Arch: darwin/amd64
Server:
Version: 1.9.1
API version: 1.21
Go version: go1.4.3
Git commit: a34a1d5
Built: Fri Nov 20 17:56:04 UTC 2015
OS/Arch: linux/amd64
Referência: link
EDITAR
Desde o Docker 1.13, o CLI tem uma compatibilidade retroativa aprimorada. De acordo com o link :
Starting with 1.13, newer CLIs can talk to older daemons. We’re also adding feature negotiation so that proper errors are returned if a new client is attempting to use features not supported in an older daemon. This greatly improves interoperability and makes it much simpler to manage Docker installs with different versions from the same machine.