Answers:
该功能已添加到curl中7.40
。
curl --unix-socket /var/run/docker.sock http:/images/json
另一个例子:
curl --no-buffer -XGET --unix-socket /docker.sock http:/events
GET
明确指定(而不是假设)。并且不会缓冲(用于tail -f
实时更新)。
(curl 7.40或更高版本发布的第一个Ubuntu版本是15.10)。
cURL 7.50及更高版本需要提供一个有效的URL(包括主机名),因此要使用cURL 7.50运行上述示例,必须添加“虚拟”主机名,例如:
curl --unix-socket /var/run/docker.sock http://localhost/images/json
和
curl --no-buffer -XGET --unix-socket /docker.sock http://localhost/events
curl
毕竟看到了要插入的插槽。Docker万岁!
curl --no-buffer -XGET --unix-socket tcp://192.168.99.102:2376 http://events
但是curl无法连接到服务器。我尝试使用ruby
--unix-socket
,而不是URI。
不确定,但根据此票证:
似乎并非如此。
根据此:
似乎socat或nc可以做到,请从上面的代码剪掉:
# Socat version
echo -e "GET /images/json HTTP/1.1\r\n" | socat unix-connect:/var/run/docker.sock STDIO
# nc version (netcat-freebsd)
echo -e "GET /images/json HTTP/1.0\r\n" | nc -U /var/run/docker.sock
我自己都没有尝试过。
\r\n\r\n
在结尾处提供,而不是提供\r\n
echo -e "GET / HTTP/1.1\r\n\r\n"