Il daemon Docker risponde '404 pagina non trovata' dopo l'aggiornamento


11

Di recente ho aggiornato la mia finestra mobile da 1.4 a 1.5 (con il pacchetto lxc_docker).

Da allora, il daemon docker invia un errore come questo (per ogni 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 

Ma se uso la versione precedente del client, ottengo la risposta eccellente:

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

Sembra essere impostazioni proxy ( HTTP_PROXYe le HTTPS_PROXYvariabili vengono utilizzate su questo server) e posso risolvere il problema impostando la NO_PROXYvariabile:

$ 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

Sai da dove proviene davvero questo problema ? E come risolverlo in modo pulito ?

Risposte:


7

È una nuova funzionalità 1.5, confermata da un ragazzo della docker (@icecrime su Twitter). la documentazione è aggiornata: https://github.com/docker/docker/pull/10192/files

Quindi non devi risolverlo in modo pulito. Questo è il modo giusto di utilizzare la finestra mobile dietro un proxy.


Non è una funzionalità, è un bug ed è stato risolto nella versione 1.6.0 - vedi la mia risposta.
Piotr Dobrogost,

Ovviamente questo tipo di "funzionalità" non è stato apprezzato dagli utenti ed è stato corretto nel modo corretto in 1.6.0 ( github.com/docker/docker/pull/10739 ) che esce ieri.
François SAMIN,

5

Sai da dove proviene davvero questo problema?

Il problema deriva dal fatto che la finestra mobile inutilmente (si potrebbe argomentare erroneamente) tenta di utilizzare il proxy (se specificato da HTTP_PROXYo HTTPS_PROXYvariabili di ambiente) per accedere al socket di dominio unix locale in /var/run/docker.sock.

E come risolverlo in modo pulito?

Ciò è stato risolto nella versione 1.6.0 non tentando di utilizzare il proxy in questo caso. Di conseguenza non c'è bisogno di aggiungere /var/run/docker.sockalla NO_PROXYvariabile d'ambiente più.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.