Yanıtlar:
Özellik kıvrık olarak eklendi 7.40
.
curl --unix-socket /var/run/docker.sock http:/images/json
Başka bir örnek:
curl --no-buffer -XGET --unix-socket /docker.sock http:/events
Bu GET
açıkça belirtir (varsayılmak yerine). Ve tampon ( tail -f
gerçek zamanlı güncelleme için).
(7.40 veya daha yeni kıvrımlarla gönderilecek ilk Ubuntu sürümü 15.10 idi).
cURL 7.50 ve üstü , bir ana bilgisayar adı da dahil olmak üzere geçerli bir URL sağlanmasını gerektirir ; bu nedenle yukarıdaki örnekleri cURL 7.50 ile çalıştırmak için, örneğin "sahte" bir ana bilgisayar adı eklenmelidir:
curl --unix-socket /var/run/docker.sock http://localhost/images/json
ve
curl --no-buffer -XGET --unix-socket /docker.sock http://localhost/events
curl
, sonuçta içine gireceğim soketi görüyorum . Çok yaşa Docker!
curl --no-buffer -XGET --unix-socket tcp://192.168.99.102:2376 http://events
ama curl sunucuya bağlanamıyor. Yakut liman işçisi kütüphanesini kullanmayı denedim ve bunu kullanarak gayet iyi bağlanıyor
--unix-socket
değil , argüman olarak bir sokete yol sağlamak zorunda olduğunuzdan eminim .
Emin değilim, ancak bu bilete göre:
durum böyle görünmüyor.
Buna göre:
socat veya nc'nin yapabileceği gibi gözüküyor, yukarıdaki snip'ten koparın:
# 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
Ben de kendim denemedim.
\r\n\r\n
sonunda sağlayabileceğiniz bir istisna ile çalışır , değil\r\n
echo -e "GET / HTTP/1.1\r\n\r\n"