HTTPサーバーを/var/run/my-server.sock
で実行しているので、cURLを使用して簡単なリクエストを送信してテストします。これはcURLを使ってできますか?それはまったくできますか、それともリバースプロキシが必要ですか?
私はこのようなものを想像しています:
curl socket:/var/run/my-server.sock:/test/path
この機能は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
よくわからないが、このチケットの通り:
そうではないようです。
これあたり:
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
どちらも試していません。