Niedawno zaktualizowałem dokera z 1.4 do 1.5 (wraz z pakietem lxc_docker
).
Od tego momentu demon dokera wysyła taki błąd (dla każdego polecenia):
$ 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
Ale jeśli użyję poprzedniej wersji klienta, otrzymam dobrą odpowiedź:
$ /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
Wygląda na to, że są to ustawienia proxy ( HTTP_PROXY
i HTTPS_PROXY
zmienne są używane na tym serwerze) i mogę rozwiązać problem, ustawiając NO_PROXY
zmienną:
$ 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
Czy wiesz, skąd tak naprawdę pochodzi ten problem ? I jak czysto go rozwiązać?
docker
http-proxy
aveuiller
źródło
źródło
Problem wynika z faktu, że doker niepotrzebnie (można argumentować błędnie) próbuje użyć proxy (jeżeli został on określony przez
HTTP_PROXY
lubHTTPS_PROXY
zmiennych środowiskowych) do dostępu lokalnego gniazda UNIX na/var/run/docker.sock
.Zostało to naprawione w wersji 1.6.0 przez nieużywanie proxy w tym przypadku. W rezultacie nie ma już potrzeby dodawania
/var/run/docker.sock
doNO_PROXY
zmiennej środowiskowej.źródło