I had the same issue with 1.10.0-rc4, and it turned out that boot2docker wasn't updated properly when installing a newer Docker Toolbox. I had to remove boot2docker manually:
will do the trick. This can happen - as it did for me - even if you're not using RCs and your machine was newly created. It would be due to an ISO cache issue. The error is commented in this thread.
If the docker client is 1.9.x and the server is running docker 1.8.x,
the error message is observed.
Apparently this error is due to docker-machine "falling asleep". Here is the magic command solving it for me:
$ docker-machine restart default
Or replace default by the name of your machine.
The result is:
$ docker-machine restart default
Restarting "default"...
Restarted machines may have new IP addresses. You may need to re-run the `docker-machine env` command.
As suggested, you may need to:
$ docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://....."
export DOCKER_CERT_PATH=".../.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval $(docker-machine env default)
If someone happens to get this error, but is not using docker-machine, there is another way to resolve the issue by specifying an older API version in an environment variable on the client side:
On ubuntu distrib it happens after an apt update, if docker run as a service.
The client is updated but the old version of the server is still running.
If you upgrade your docker client you will not be able to use old docker-machine VMs. Actually you can force an upgrade with docker-machine upgrade vm-name, but if you are working with other distros (except boot2docker) as docker host like coreos, atomic, rancheros it may fail.
I am using Carina to manage more than one docker client version.
just install with $ curl -sL https://download.getcarina.com/dvm/latest/install.sh | sh
(linux and mac installation) and run dvm ls to list installed versions, dvm install 1.9.0 to install versions and dvm use 1.8.1 to change your client version.
Very easy and powerfull. =)
Atention, for your safety always take a look inside scripts downloaded from internet before running them.
I had the same issue with 1.10.0-rc4, and it turned out that boot2docker wasn't updated properly when installing a newer Docker Toolbox. I had to remove boot2docker manually:
You can also delete the rest of the toolbox:
And finally install Docker Toolbox of the desired version.
Please see official uninstall script for on GitHub for OS X here.
will do the trick. This can happen - as it did for me - even if you're not using RCs and your machine was newly created. It would be due to an ISO cache issue. The error is commented in this thread.
Apparently this error is due to
docker-machine
"falling asleep". Here is the magic command solving it for me:Or replace
default
by the name of your machine. The result is:As suggested, you may need to:
And so you finally run that command:
From now it should work.
If someone happens to get this error, but is not using
docker-machine
, there is another way to resolve the issue by specifying an older API version in an environment variable on the client side:for example:
and retrying the
docker
command.Reference.
On ubuntu distrib it happens after an apt update, if docker run as a service. The client is updated but the old version of the server is still running.
In this case just do a:
If you upgrade your docker client you will not be able to use old docker-machine VMs. Actually you can force an upgrade with
docker-machine upgrade vm-name
, but if you are working with other distros (except boot2docker) as docker host like coreos, atomic, rancheros it may fail.I am using Carina to manage more than one docker client version.
just install with
$ curl -sL https://download.getcarina.com/dvm/latest/install.sh | sh
(linux and mac installation) and rundvm ls
to list installed versions,dvm install 1.9.0
to install versions anddvm use 1.8.1
to change your client version.Very easy and powerfull. =)
Atention, for your safety always take a look inside scripts downloaded from internet before running them.
Hope it helps