ようへいの日々精進XP

よかろうもん

docker のタメにならないヲレの小小技集(2)

はじめに

  • docker を使う上でちょっとだけ役に立つかもしれない小技をメモ
  • 前回 と似た感じ

コンテナイメージの歴史を確認

コンテナイメージの歴史をツリー形式で確認するには docker images -tree を使う。

docker -H=tcp://127.0.0.1:4243 images -tree

以下のような出力が得られる。

f:id:inokara:20140206065208p:plain

おお、なんか凄い。

ちなみに -viz オプションを付けると Graphviz 形式で出力される。ちなみに Graphviz とは DOT言語 という言語で書かれたグラフ表現を GIFPNG などのファイルフォーマットに変換してくれるシステムとのこと。Ubuntu の場合には apt-get install graphviz でインストールできる。

sudo docker -H=tcp://127.0.0.1:4243 images -viz > /tmp/hoge.dot

を実行するとこんな感じに出力される。出力を /tmp/hoge.dot で保存して以下のようにして変換する。

dot -Tpng /tmp/hoge.dot -o test.png

test.png が以下のように出力される。

f:id:inokara:20140206070748p:plain

おお。何の役に立つのか良く解らないけど面白い。

Dockerfile に書いておくと良い設定アレコレ

DEBIAN_FRONTEND=noninteractive

これは何かと言うと...Debian Package をインストールする際に手動設定(各サービスの管理ユーザーのパスワード等)をスキップしてくれる。

例えば、以下のような Dockerfile を作って DEBIAN_FRONTEND=noninteractive を付けずに docker build すると...

FROM inokappa/wheezy-7.2-basic
#
MAINTAINER YOHEI KAWAHARA inokappa
#
RUN apt-get update
RUN apt-get -y install postfix

暫くすると...

f:id:inokara:20140209183148p:plain

postfix をインストールする時点で、上記ように設定ファイルを生成する際の質問で止まってしまう...。

以下のように Dockerfile 内(apt-get update する前あたりに入れておきましょう...)に設定すると...

ENV DEBIAN_FRONTEND noninteractive

先ほどの質問等で止まることなくビルドが終了する。


さいごに

  • ちゃんとヘルプとか読むと稀に面白いことがある