J'ai récemment mis à jour mon docker de 1.4 à 1.5 (avec le package lxc_docker
).
Depuis lors, le démon docker envoie une erreur comme celle-ci (pour chaque commande):
$ 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
Mais si j'utilise la version précédente du client, j'obtiens la bonne réponse:
$ /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
Il semble s'agir de paramètres proxy ( HTTP_PROXY
et des HTTPS_PROXY
variables sont utilisées sur ce serveur), et je peux résoudre le problème en définissant la 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
Savez-vous d'où vient vraiment ce problème ? Et comment le résoudre proprement ?
la source
Le problème vient du fait que Docker essaie inutilement (on pourrait dire à tort) d'utiliser un proxy (s'il est spécifié par
HTTP_PROXY
ouHTTPS_PROXY
des variables d'environnement) pour accéder à la socket du domaine Unix local sur/var/run/docker.sock
.Cela a été corrigé dans la version 1.6.0 en n'essayant pas d'utiliser le proxy dans ce cas. Par conséquent, il n'est plus nécessaire d'ajouter
/var/run/docker.sock
àNO_PROXY
la variable d'environnement.la source