Respostas:
O recurso foi adicionado em curl 7.40
.
curl --unix-socket /var/run/docker.sock http:/images/json
Outro exemplo:
curl --no-buffer -XGET --unix-socket /docker.sock http:/events
O que especifica o GET
explicitamente (em vez de assumido). E não será armazenado em buffer (para tail -f
atualização em tempo real).
(A primeira versão do Ubuntu a ser fornecida com o curl 7.40 ou mais recente foi 15.10).
O cURL 7.50 ou superior exige que seja fornecido um URL válido , incluindo um nome de host, para executar os exemplos acima com o cURL 7.50, um nome de host "fictício" deve ser adicionado, por exemplo:
curl --unix-socket /var/run/docker.sock http://localhost/images/json
e
curl --no-buffer -XGET --unix-socket /docker.sock http://localhost/events
curl
afinal. Viva o Docker!
curl --no-buffer -XGET --unix-socket tcp://192.168.99.102:2376 http://events
mas o curl não pode se conectar ao servidor. Eu tentei usar a biblioteca ruby janela de encaixe e ele se conecta muito bem usando esta
--unix-socket
, não para um URI.
Não tenho certeza, mas de acordo com este ticket:
não parece ser o caso.
Por isso:
parece que socat ou nc podem fazê-lo, troque o trecho acima:
# 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
Também não tentei.
\r\n\r\n
, no final, não\r\n
echo -e "GET / HTTP/1.1\r\n\r\n"