Демон Docker отвечает "страница 404 не найдена" после обновления

Недавно я обновил свой docker с 1.4 до 1.5 (с пакетом lxc_docker).

С тех пор демон docker отправляет такую ошибку (для каждой команды):

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

Но если я использую предыдущую версию клиента, я получаю прекрасный ответ:

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

Похоже, это настройки прокси-сервера (HTTP_PROXY и HTTPS_PROXY переменные используются на этом сервере), и я могу решать проблему, установив NO_PROXY переменная:

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

Знаете ли вы, где эта проблема действительно откуда взялся? И как это сделать чисто решить ее?

Это новая функция 1.5, парень из docker (@ icecrime в твиттере) подтвердил это.документация находится в актуальном состоянии : https://github.com/docker/docker/pull/10192/files

Так что вам не нужно решать ее чисто. Это правильный способ использовать docker за прокси-сервером.

Знаете ли вы, откуда на самом деле взялась эта проблема?

Проблема возникает из-за того факта, что docker без необходимости (можно утверждать ошибочно) пытается использовать прокси (если указано HTTP_PROXY или HTTPS_PROXY переменные среды) для доступа местный доменный сокет unix в /var/run/docker.sock.

И как чисто решить эту проблему?

Это было исправлено в версии 1.6.0, не пытаясь использовать прокси в этом случае. В результате нет необходимости добавлять /var/run/docker.sock к NO_PROXY переменной среды больше нет.