スライド抜粋:Dockerのコンテナーを大量運用されている方のトラブル話

@sumyapp さんが公開されている「毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話」が興味深かったので一部抜粋。

  • Devicemapper を私用しているとディスクがフルじゃないのに、「Docker disk out of space」のエラーが出る
  • Linuxのカーネルバージョンによっては、カーネルパニックを起こして死ぬことがある
    あるタイミングのGoogle Cloud PlatformのKernel version:3.16.0-38-generic で現象が発生し、
    3.13-0-48-generic なら発生しない。

CIサービスの提供をされている方で、CIの実行環境としてアプリからDockerを一日に2000回ぐらい起動して、つぶしてとヘビーにコンテナーをプロダクションで使用されている方の実体験でした。この辺りは、実運用してみないと見えてこない問題なので、情報公開していただけると、すごく参考になりますね。

Dockerを試すにあたって困ったことのメモ

Windowsで、Virtualboxを使用してDockerを試すことにした。
試す際に参考資料として使用したのが、「Web+DB press vol.79」の「Dockerによる軽量な仮想環境」の記事。

記事では、VagrandfileをDockerのリポジトリからダウンロードしてきてVagrant upしているのだけど、そのVagrantfileが無くて困ってしまった。
https://raw.github.com/dotcloud/docker/master/Vagrantfile をダウンロードしようとしたところ、404でダウンロードできない。困ってTwitterで呟いてみたら、以下のようなヒントをいただいた。

結論:boot2dockerを使用する

インストールマニュアルもmaster版はすでに、Vagrantfileを使用する方法から、bott2dockerを使用する方法に変更されている。

でも、面倒って人は、Vagrantの作者のmitchellh氏が面倒な人用に、boot2docker Vagrant Boxを用意しているので、それを使ってしまうのが楽でいい。

mkdir c:\work\docker
cd c:\work\docker
vagrant init boot2docker https://github.com/mitchellh/boot2docker-vagrant-box/releases/download/v0.5.4/boot2docker_virtualbox.box
vagrant up

で、準備完了!便利だね。

蛇足:WindowsでVagrant sshが面倒なので、Vagrant Puttyする

vagrant-multi-puttyプラグインをいれて、Vagrant puttyできるようにする。
あらかじめ、puttyにはPATHを通しておく。

vagrant plugin install vagrant-multi-putty

あとは、puttygenで (ユーザーローカル)\.vagrant.d\insecure_private_keyを読み込んで、 (ユーザーローカル)\.vagrant.d/insecure_private_key.ppkに保存しておく