コンテナ内で複数の
サービスを管理する試みと何か...
Docker Meetup Tokyo #2
@inokara(かっぱ)
Docker 芸人をめざして九州からやって参りました
誰?
「新婚さんい◯っしゃい」出ました
さて
コンテナ内で複数サービスを管理する試み...
については... monit を使用する例が掲載されています
(宣伝:私のブログも紹介して頂きました)
他にも
Supervisord
God(!)
などのツールで
コンテナ内で複数のサービスを管理することが出来そうです
以上...
One More Thing...
(さあ、ネタに困った)
そんな時...
Dashing
お手軽にダッシュボードを作れるフレームワーク
に出会った
コレや!
Docker Remote API
+
docker-api(gem)
+
Dashing
で...
こんなん作ってみました
https://github.com/inokappa/docker-dashboard
で、どこで Docker?(1)
docker_ver = Docker.version
send_event('docker', { text: hostname } )
send_event('docker', { moreinfo: docker_ver["Version"] } )
で、どこで Docker?(2)
cons_run = Docker::Container.all(:running => true)
run_docker_list = Hash.new({ value: 0 })
cons_run.each do |con|
docker_id = con.id[0,12]
docker_image = con.info.fetch("Image")
run_docker_list[docker_id] = { label: docker_id, value: docker_image }
send_event('containers', { items: run_docker_list.values })
end
end
で、どこで Docker?(3)
cons_run = Docker::Container.all(:running => true)
send_event('count', { current: cons_run.size } )
docker_info = Docker.info
send_event('allcontainers', { current: docker_info["Containers"] } )
たったこれだけ...
簡単や!
最後に
コンテナ内で複数サービスを管理する場合には工夫が必要だと思う
ツールは monit / Supervisord / God お好みで
*
Docker Remote API は簡単に利用出来て
curl で叩くと JSON で返ってくるし
シェルしか解らない自分にも優しい
*
そして、Dashing は色々と応用効きそうだ
ということで...
Docker って楽しいですよね