&引用;404找不到页面“;当exec`curl--unix socket/var/run/docker.sock http:/containers/json` /usr/local/sbin/bin/curl--unixsocket/var/run/docker.sockhttp://images/json -五 *正在尝试/var/run/docker.sock。。。 *已连接到映像(/var/run/docker.sock)端口80(#0) >GET/json HTTP/1.1 >主持人:图片 >用户代理:curl/7.50.3 >接受:*/* > 未找到

&引用;404找不到页面“;当exec`curl--unix socket/var/run/docker.sock http:/containers/json` /usr/local/sbin/bin/curl--unixsocket/var/run/docker.sockhttp://images/json -五 *正在尝试/var/run/docker.sock。。。 *已连接到映像(/var/run/docker.sock)端口80(#0) >GET/json HTTP/1.1 >主持人:图片 >用户代理:curl/7.50.3 >接受:*/* > 未找到,docker,docker-api,Docker,Docker Api,我的docker守护进程有什么问题吗?如何从docker unix套接字获取容器信息? docker deamon完全启动了。我遵循了这一页:,它建议我们使用curl 7.40或更高版本,命令curl--unix socket/var/run/docker.sock http:/containers/json。您可以发现此命令中有一个不可用的URLhttp:/containers/json 然后我下载了最新的curl 7.50.3,这个问题的关键是curl的版本,我们应该执行如下: /usr/l

我的docker守护进程有什么问题吗?如何从docker unix套接字获取容器信息? docker deamon完全启动了。

我遵循了这一页:,它建议我们使用curl 7.40或更高版本,命令
curl--unix socket/var/run/docker.sock http:/containers/json
。您可以发现此命令中有一个不可用的URL
http:/containers/json

然后我下载了最新的curl 7.50.3,这个问题的关键是curl的版本,我们应该执行如下:

/usr/local/sbin/bin/curl  --unix-socket /var/run/docker.sock http://images/json -v
*   Trying /var/run/docker.sock...
* Connected to images (/var/run/docker.sock) port 80 (#0)
> GET /json HTTP/1.1
> Host: images
> User-Agent: curl/7.50.3
> Accept: */*
> 
< HTTP/1.1 404 Not Found
< Content-Type: text/plain; charset=utf-8
< X-Content-Type-Options: nosniff
< Date: Thu, 22 Sep 2016 06:11:52 GMT
< Content-Length: 19
< 
404 page not found
* Curl_http_done: called premature == 0
* Connection #0 to host images left intact

更多详情请观看本页。。希望它能帮助其他困惑的人。

使用--verbose命令行选项查看curl是否有更多关于它的信息。还可以尝试在http中使用双斜杠(我希望在这里发布时,它不会在您的编辑中损坏)。此页面后面只使用一个斜杠:。尝试在http中使用双斜杠,我得到了相同的结果。我明白你的意思。有一个相关的讨论是关于如何使用带套接字的curl来处理一、二、三个斜杠。现在(从curl7.50开始),行为已更改为需要有效的http URL(已修复)。不管是哪种方式,现在讨论都有点离题了。因为有效的URL应该从curl 7.50开始工作,所以它们也可能会迫使您在URL中使用某个虚拟域名,这是有道理的,您想尝试一下
http://localhost/images/json
,因为“连接到图像”对我来说很奇怪。是的。这正是我在评论部分所写的:)因为您使用的是curl7.50,所以它强制您使用有效的URL。以前它似乎接受单斜杠、双斜杠、三斜杠;和一些带有双冒号的URL(http::/)。所有这些都已经修复(这只适用于在使用unix套接字时使用curl)。非常感谢,似乎我没有重新阅读此页面,因为我现在看到了您的答案。解决这个问题的感觉真好。
/usr/local/sbin/bin/curl  --unix-socket /var/run/docker.sock http://images/json -v
*   Trying /var/run/docker.sock...
* Connected to images (/var/run/docker.sock) port 80 (#0)
> GET /json HTTP/1.1
> Host: images
> User-Agent: curl/7.50.3
> Accept: */*
> 
< HTTP/1.1 404 Not Found
< Content-Type: text/plain; charset=utf-8
< X-Content-Type-Options: nosniff
< Date: Thu, 22 Sep 2016 06:11:52 GMT
< Content-Length: 19
< 
404 page not found
* Curl_http_done: called premature == 0
* Connection #0 to host images left intact
curl --unix-socket /var/run/docker.sock http://localhost/images/json