dockerにUnixドメインソケット経由でアクセスしてみた

dockerの動作中のコンテナを取得するのに、docker psからゴニョゴニョやってると面倒くさそうだったから、UnixドメインソケットでAPI叩いてみた。

[bash]
pacman -S socat
[/bash]
でsocatをインストールして
[bash]
echo -en ‘GET /containers/json?status=running HTTP/1.1\r\n\r\n’ | socat stdio /var/run/docker.sock
[/bash]
でAPI叩いたら

HTTP/1.1 200 OK
Content-Type: application/json
Date: Fri, 03 Jul 2015 13:36:56 GMT
Content-Length: 390
[{"Id":"4169d4028d0dff7565be1929b9c77622e20e9d16138f61a3424327acd5b14e3b","Names":["/happy_mccarthy"],"Image":"mattyan/bitbucket","Command":"/usr/share/tomcat8/bin/catalina.sh run","Created":1435925859,"Ports":[{"IP":"0.0.0.0","PrivatePort":10020,"PublicPort":10020,"Type":"tcp"},{"IP":"0.0.0.0","PrivatePort":8080,"PublicPort":8080,"Type":"tcp"}],"Labels":{},"Status":"Up About an hour"}]

それっぽいレスポンスが返ってきたから、これをpythonか何かに食わせてゴニョゴニョすればよさそう。
dockerのAPIはここ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です