Назад | Перейти на главную страницу

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

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

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

$ 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 

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

$ /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

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

$ 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

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

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

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

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

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

И как это чисто решить?

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