Docker で Image の ツリーを見る方法


はじめに

みなさん!Dockerつかってますか!?

docker を使っているときに、ゴミコンテナができてしまい
このコンテナはどのイメージから起動されたのか分からなくなっちゃうことってありますよね?

イメージを消したいのに、どのコンテナが掴んでいるイメージかわからない!
そう、そんなときにこの記事が役に立つんです!

とういうわけで、今日は Docker 内の Image を
グラフィカルに見る方法について解説してみたいと思います

イメージのツリーって?

docker は コンテナを起動するための Image を管理しています。
Image は 複数のImageからできており、 それぞれのImageには親子関係があります。

そのため、ImageIDから そのImageがどのImageを構成しているイメージかを
確定するためにはツリーを書く必要がありそうです

参考資料

イメージのツリーを見る方法(古い方法)

調査

昔のDockerではImageを見るときに --tree オプション で見れたようです。
http://qiita.com/mopemope/items/181cb6c6c6f7cf9bbaa9

やってみよう

・・・・orz

イメージのツリーを見る方法(ナウい方法)

調査

こんなコンテナを見つけました!すごい!
https://github.com/CenturyLinkLabs/docker-image-graph

起動

おもむろに、以下のコマンドをぶっ叩いてみましょう!
docker run -d -v /var/run/docker.sock:/var/run/docker.sock -e PORT=3000 -p 49277:3000 --name image-graph -h image-graph centurylink/image-graph

これで port 3000 を port 49277 にフォワードしてサービスが動いているはずです。

確認

さっそくブラウザでアクセスしてみましょう!

おぉぉぉ !!
見えてますね! これでゴミコンテナがつかんでいるイメージを特定することができますね!

まとめ

docker 周りの技術の進歩の仕方はあっという間で、
少し前にできたことが できなくなっていたり、できるようになったりと目まぐるしいです。
常にいろいろな方向にアンテナを張っていこうと思いました。

また、便利なコンテナを 提供してくれる人に感謝しつつ
自分でも貢献していけたらなと感じております。

検証環境

docker 1.9.0
ubuntu 15.04