Docker守护程序在更新后回答``找不到404页面''


11

我最近将docker从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_PROXYHTTPS_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

您知道这个问题的真正根源吗?以及如何彻底解决呢?

Answers:


7

这是一项新的1.5功能,来自docker(@icecrime on twitter)的家伙已经证实了这一点。该文档是最新的:https : //github.com/docker/docker/pull/10192/files

因此,您不必彻底解决它。这是在代理后面使用docker的正确方法。


这不是功能,而是错误,已在1.6.0版中修复-请参见我的回答。
Piotr Dobrogost

显然,这种“功能”尚未为用户所认可,并已在昨天发布的1.6.0(github.com/docker/docker/pull/10739)中以正确的方式修复。
弗朗索瓦·萨明

5

您知道这个问题的真正根源吗?

问题来自以下事实:docker不必要地(可能会错误地争论)尝试使用代理(如果由HTTP_PROXYHTTPS_PROXY环境变量指定)访问位于的本地 unix域套接字/var/run/docker.sock

以及如何彻底解决呢?

此问题已在1.6.0版中通过不尝试使用代理的方式进行了修复。结果,不再需要添加/var/run/docker.sockNO_PROXY环境变量。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.