回答:
この機能は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 Dockerライブラリを使用してみましたが、これを使用して
--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"