Docker Daemon 404 Error – How to Fix Docker Daemon ‘404 Page Not Found’ After Update

dockerhttp-proxy

I recently updated my docker from 1.4 to 1.5 (with the package lxc_docker).

Since then, docker daemon sends an error like this (for every command):

$ docker version 
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1
Git commit (client): a8a31ef
OS/Arch (client): linux/amd64
FATA[0000] Error response from daemon: 404 page not found 

But if I use the previous version of the client, i get the fine answer:

$ /usr/bin/docker-old version 
Client version: 1.4.0
Client API version: 1.16
Go version (client): go1.3.3
Git commit (client): 4595d4f
OS/Arch (client): linux/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef

It seems to be proxy settings (HTTP_PROXY and HTTPS_PROXY variables are used on this server), and I can solve the problem by setting the NO_PROXY variable:

$ export NO_PROXY="/var/run/docker.sock"
$ docker version  
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1
Git commit (client): a8a31ef
OS/Arch (client): linux/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef

Do you know where this problem really come from? And how to cleanly solve it?

Best Answer

It's a new 1.5 feature, a guy from docker (@icecrime on twitter) has confirmed it. the documentation is up to date : https://github.com/docker/docker/pull/10192/files

So you don't have to cleanly solve it. This is the right way to use docker behind a proxy.