Chef Container 0.2.0 (beta) を試してみた

Chef Container 0.2.0 (beta) なるものがリリースされたので、ちょっと触ってみたのでメモ。

ブログにある通りに、apacheのimageを作成した。
ちなみにブログのままやるとdemo/apache2というimageなるものは存在しないので、ubuntuをつかった。

まず、2つのGem、knife-containerchef-container と berkshelf をインストール。

まずは初期化。initコマンドを実行することでdockerfilesというディレクトリ内に必要なファイル群が生成された。

オプションの -z はローカルモード、-bは Berksfileの生成らしい。

生成されたDcokerfile、first-boot.json,zero.rbは以下の通り

first-boot.jsonをchef-initが解釈するらしい。

必要なcookbookを追加して、first-boot.jsonを編集。
(cookbookを追加したのはapt-get updateしないと後で失敗するから)

そして、 Docker imageをビルド。

コンテナを起動する

どうやら成功っぽい。

事前にコンテナを作成して、chefを実行するのはコンテナ同士の通信が必要な際にipが必要だからとか。

これでより容易に既存のChefの資産を使えるのかな。

参考にしたページ:
Chef Container 0.2.0 (beta) で Docker コンテナを作成する #opschef_ja #getchef_ja #dockerjp
[和訳] Release: Chef Container 0.2.0 (beta) #opschef_ja #getchef_ja #dockerjp

Comments