Как получить доступ к API Docker Engine через Unix Domain Socket, используя SOCAT вместо curl?Linux

Ответить
Anonymous
 Как получить доступ к API Docker Engine через Unix Domain Socket, используя SOCAT вместо curl?

Сообщение Anonymous »

У меня проблемы с доступом к доменному розетку Unix с помощью команды SOCAT. Следующая команда Curl работает нормально: < /p>

Код: Выделить всё

curl --unix-socket /var/run/docker.sock http:/v1.50/containers/json

Однако в моей среде Linux не установлена команда Curl, поэтому, если возможно, я хотел бы получить доступ к нему через Socat следующим образом:
echo -ne "GET /v1.50/containers/json HTTP/1.1\r\nHost: localhost\r\n\r\n" | socat - UNIX-CONNECT:/var/run/docker.sock< /code> < /p>
Но когда я запускаю это, я получаю ошибку 500.
Я проверил журналы Docker Daemon, и я нашел следующее сообщение об ошибке: < /p>
http: panic serving @: index out of range [0] with length 0
goroutine 12345 [running]:
runtime/debug.Stack()
/usr/local/go/src/runtime/debug/stack.go:24 +0x65
net/http.(*conn).serve.func1()
/usr/local/go/src/net/http/server.go:1825 +0x153
panic({0x564d0c8, 0xc0002d0e40})
/usr/local/go/src/runtime/panic.go:971 +0x499
github.com/docker/docker/daemon/listeners.getContainersJSON(...)
/go/src/github.com/docker/docker/daemon/listeners/listeners.go:XXX
github.com/docker/docker/daemon.(*Daemon).Containers(...)
/go/src/github.com/docker/docker/daemon/daemon.go:YYY
< /code>
Я не понимаю причину этой проблемы или как ее исправить. Может ли кто -нибудь помочь?

Подробнее здесь: https://stackoverflow.com/questions/797 ... tead-of-cu
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»