O daemon do Docker responde a 'página 404 não encontrada' após a atualização

11

Atualizei recentemente minha janela de encaixe de 1.4 para 1.5 (com o pacote lxc_docker ).

Desde então, o daemon do docker envia um erro como este (para cada comando):

$ 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 

Mas se eu usar a versão anterior do cliente, recebo a resposta certa:

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

Parece ser configurações de proxy ( HTTP_PROXY e HTTPS_PROXY variáveis são usadas neste servidor), e eu posso resolver o problema definindo a variável 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

Você sabe de onde vem esse problema realmente ? E como limpar resolvê-lo?

    
por Antoine 13.02.2015 / 14:10

2 respostas

7

É um novo recurso 1.5, um cara do docker (@icecrime no twitter) confirmou isso. a documentação está atualizada: link

Assim, você não precisa resolvê-lo de maneira clara. Este é o caminho certo para usar o docker atrás de um proxy.

    
por 16.02.2015 / 10:31
5

Do you know where this problem really come from?

O problema vem do fato de que o docker desnecessariamente (pode-se argumentar erroneamente) tenta usar o proxy (se especificado por HTTP_PROXY ou HTTPS_PROXY environment variables) para acessar o soquete de domínio unix local no /var/run/docker.sock .

And how to cleanly solve it?

Isso foi corrigido na versão 1.6.0 por não tentar usar o proxy neste caso. Como resultado, não há mais necessidade de adicionar a variável de ambiente /var/run/docker.sock to NO_PROXY .

    
por 17.04.2015 / 12:12