The Docker Version Manager (dvm) is a cross-platform command-line tool that helpsyou install and switch between Docker clients. It also helps both avoid and address the following Docker client/server API mismatch error message:
Error response from daemon: client is newer than server(client API version: 1.21, server API version: 1.20)
Note: dvm manipulates the PATH variable of the current shellsession, and so the changes that dvm makes are temporary.
After youinstall dvm, runthedetect command and youare all ready to start using Docker.
$ dvm detect1.13.1 is not installed. Installing now...Installing 1.13.1...Now using Docker 1.13.1$ docker --versionDocker version 1.13.1, build 092cba3
You can use the following global flags with anyof the commands. Global flags should be specified before the command,for example:dvm --silent install 1.9.0
.
--silent
Suppresses a command’s normal output. Errors are still displayed.
--debug
Prints additional debug information.
There is bash and zsh completion available in$DVM_DIR/bash_completion
. To invoke it into your shell, run
[[-r$DVM_DIR/bash_completion]]&&.$DVM_DIR/bash_completion
For zsh, there’s a bit of special sauce usingbashcompinit
from the more recent versions of zsh.
$ dvm [TAB]alias install ls uninstall whichcurrent list ls-alias unloaddeactivate list-alias ls-remote usehelp list-remote unalias version$ dvm u[TAB]unalias uninstall unload use$ dvm us[TAB]$ dvm use [TAB]1.8.2 1.9.0 carina default experimental
You may want to use a local mirror for Docker binaries instead of downloading them from the default site (https://get.docker.com/builds
). There are a few possible reasons for this, most commonly the need to avoid dealing with corporate proxies every time.
The environment variable DVM_MIRROR_URL can be set to a local mirror inside your LAN:
export DVM_MIRROR_URL="http://localserver/docker/builds"dvm install 1.10.3