ようへいの日々精進XP

よかろうもん

今更だけど docker の Remote API を Ruby から使うなど(2)

はじめに

  • 前回の続き
  • バージョンはシステムの情報を取得する API を試す
  • 試した環境は Amazone Linux
  • 本当にメモ書き程度

参考


やってみる

docker の稼働状況等を取得する。

docker のバージョンを取得する

Show the docker version information に該当する情報が得られる。

#!/usr/bin/env ruby
require 'docker'

DOCKER_HOST="127.0.0.1"
Docker.url="http://#{DOCKER_HOST}:4243/"
ver = Docker.version
p ver
p ver["Version"]

以下のような結果が返ってくる。

{"Arch"=>"amd64", "GitCommit"=>"2b3fdf2/0.9.0", "GoVersion"=>"go1.2", "KernelVersion"=>"3.10.34-37.137.amzn1.x86_64", "Os"=>"linux", "Version"=>"0.9.0"}
"0.9.0"

結果はハッシュで返ってくるので任意の情報は ver["KEY"] 等で取り出すことが出来る。


システム情報を取得する

Display system-wide informationに該当する情報が得られる。

#!/usr/bin/env ruby
require 'docker'
#
DOCKER_HOST="127.0.0.1"
Docker.url="http://#{DOCKER_HOST}:4243/"
info = Docker.info
p info
p info["Containers"]

以下のような結果が返ってくる。

{"Containers"=>5, "Debug"=>0, "Driver"=>"devicemapper", "DriverStatus"=>[["Pool Name", "docker-202:1-138513-pool"], ["Data file", "/var/lib/docker/devicemapper/devicemapper/data"], ["Metadata file", "/var/lib/docker/devicemapper/devicemapper/metadata"], ["Data Space Used", "1698.8 Mb"], ["Data Space Total", "102400.0 Mb"], ["Metadata Space Used", "1.9 Mb"], ["Metadata Space Total", "2048.0 Mb"]], "ExecutionDriver"=>"native-0.1", "IPv4Forwarding"=>1, "Images"=>12, "IndexServerAddress"=>"https://index.docker.io/v1/", "InitPath"=>"/usr/libexec/docker/dockerinit", "InitSha1"=>"f7884c1a78bc6bb3578b3c59ba66e0715eec062d", "KernelVersion"=>"3.10.34-37.137.amzn1.x86_64", "MemoryLimit"=>1, "NEventsListener"=>0, "NFd"=>20, "NGoroutines"=>18, "SwapLimit"=>1}
5

結果はハッシュで返ってくるので任意の情報は info["KEY"] 等で取り出すことが出来る。


引き続き

  • 気づいたら書く