DockerをUbuntu 12.04、CoreOS、boot2dockerで実運用した時の正直な感想

読了まで:約5分


Production に​ Docker 入れる​なら​ Ubuntu 12.04 が​良いと​僕は​思う。


今日は​珍しく​早起きしたんで、​洗濯物を​母の​代わりに​干しながら、​今日​書く​ブログネタを​考えていたんですが、​その​ときに、

Docker を​運用する​際の​ OS に​ついて​書けば​注目集まるんじゃね?

とか​思いついたので、​今日は​その​辺り正直に​書きたいと​思います。

Docker を​ Ubuntu 12.04、​CoreOS、​boot2docker で​実運用した​時の​感想

1.​ 初めての​ Docker 体験: CoreOS

まず、​最初に​ Docker を​使ったのは、​確か、

だったような​覚えが​あるんですが、​正直、​CoreOS は、

  • 常に​ Docker の​最新版を​追い​かけるのには、​まだ​時期尚早

と​いうのが​現実ではないかと​思います。

と​いうのも、​CoreOS ​その​もの​コンセプトに​問題が​あるとか、​あるいは​開発体制が​アレとか​そういう​類いの​問題ではなく、​単に、

  • Now on Developemnt !

と​いうのが​一番​大きな​理由です。

要するに、​枯れてない​よって​コトですね。

で、​僕は​ CoreOS に​ついては、

  • 自宅での​ Docker 用開発環境
  • 自宅サーバでの​ Deploy 先環境

と​して​使ってた​時も​有ったんですが、​Docker の​バグを​踏んづけたけど、​CoreOS の​ Docker の​ Version が​上げられなくてうごごご g……って​成った​ことが​度々​あったし、​Docker 自体も​まだ​枯れてなくて、​結構​頻繁に​更新されているっぽいので、​その​辺りも​まだ​実験的に​使う​以外には​向いてないのかなぁ、と​いうのが​正直な​感想です。

まあでも​ CoreOS の​コンセプトは​すごい​魅力的ですし、​また​関連コンポーネントも​結構​面白そうな​モノが​多い​ (etcd とか​)ので、​要注目な Product だとは​思います。

2. 安定を​求めて​: Ubuntu 12.04

で、​次。​今の​自宅サーバ(Mac mini late 2012)で、​Docker を​実運用するのに​使っているのが、

の​正確には​ Server 版です。

で、​僕は​ Ubuntu 12.04 で​ Docker 用の​ VM を​作るのに、​手作業で​作るのは​面倒と​いうか​アレだと​思ったので、​Vagrant や​ Packer の​作者の​ @mitchellh さんの、

を​使って、​VMware Fusion に​ VM を​作って​ Docker を​運用しています。

で、​基本的には

  • Ubuntu 12.04 + Docker

と​いう​組み合わせは​かなり​安定していて、​運用面でも​特に​問題なく、​安定して​運用できるのですが、​いかんせん僕の​ Mac mini late 2012 が​時々​おかしくなるので、​その​辺りが​ちょっと​ビミョいです、​はい。

まあでも、​実環境で​ Docker を​運用するのであれば、

  • Ubuntu 12.04

は​オススメできるのではないかと​思います。

3. コンパクトな​開発環境が​欲しかった​: boot2docker

そして​最後、​boot2docker。

は、​超簡単に​説明すると、

Docker を​動か​すための​環境しか​入って​ない​ Tiny Core Linux

で、​基本的には​ ISO とかから​ boot して​使うんですが、​ガチが​コンパクトなので、​Macbook Air mid 2011 等の​容量が​厳しめな​環境でも、​余裕で​使うことができます。

が、​容量的には​コンパクトでも、​メモリ的には​あんまり​コンパクトではなく、​前に​ 128MB だけしか​メモリ割り​当てしなかったら、​Kernel Panic して​ boot しませんでした。​なので、​メモリは​あまり​ケチれません。

あと、​boot2docker は、​作者の​ @steeve さんが​公式に​ Bootable ISO Images を​公開していて、​それを​使えば​一発で​ boot2docker が​使えますが、​実は、

  • boot2docker は​ Docker 環境が​あれば​自分で​カスタマイズできる!

と​いう​特長が​あります。

ただし、​boot2docker は​ Tiny Core Linux と​いう、​ちょっと​独特な​ Linux を​使ってるので、​Tiny Core の​知識が​ないと、​微妙に​カスタマイズしづらいと​いう​難点も​あります。​って​いうか​僕も​ Tiny Core は​使った​ことないから​カスタマイズできないれす(^q^)

それとまあ boot2docker の​ Bootable ISO image 作るのに、​Docker 環境が​必要と​いう、​鶏卵問題が​あるっちゃぁ​あるので、​その​辺りも​ちょっと​微妙かもしれません。

あと​僕は​ boot2docker は​開発環境と​してしか​使っていないんですが、​もう​少し​仕組みや​カスタマイズ方​法が​分かってきたら、​自宅鯖での​実運用も​できるかな?​ とか​思ってます。​あと​つい​ 5 日前に​最新版が​で​たっぽいですしね。

と​いう​ことで、​以上が​上記三つの​ OS で​ Docker を​使った​際の​正直な​感想でした

僕と​しては、もし業務とかで​使うのであれば、

  1. とにかく​面倒な​ことは​したくない​ → Ubuntu 12.04
  2. とにかく​カリカリに​チューンしたい​ → boot2docker (自前カスタマイズ)

って​感じかなぁと​思います。

あと、

  • CoreOS

も​機能が​充実してきて​枯れてきてくれたら、​選択肢の​一つに​十分​入って​来れそうな​感じですが、​いかんせん​やっぱりまだ​開発途上なので、​実務に​突っ込むには​リスクが​あるかな、と​思います。

まあ一番​簡単に​使えるのは、​さっきも​リンクを​掲載した、

あたりかなぁと​思うので、​面倒な​コトしたくないわ、って​人は、​上記の​ Packer 用テンプレートを​使って、​VM 作ると​めんどく​さくなくていい​感じだと​思います。


と​いう​ことで​本日の​記事は​以上です。

まあ僕は​ Ubuntu 12.04 か​ boot2docker が​オススメかな、とは​思いますが、​CentOS とか​他の​ Linux OS でも​ docker は​動くので、​各自最適な​環境を​見つけられたら、​それは​それで​良いんじゃないかなと​思います。

と​いう​ことで​本日の​記事を​終わります。​お疲れさまでした。

P.S.

そういや​さっき時計みたら、​時間が​ 30 分ぐらい​立ってました。​今ちょうど​午前 9 時です。​はい。​結構​記事書くのに​時間かかってるんですね。​僕って。

#感想 #開発運用 #Docker - #2014-01 #2014-01-19

にゃるら(カラクリスタ)

『輝かしい青春』なんて失かった人。
次に備えて待機中。

今は趣味でプログラミングをして
生活しています。