distrobuilder で lxc 用のイメージを作る

lxc 3.0 ではコンテナイメージ作成に使われていたテンプレートスクリプトが削除されて、 https://github.com/lxc/lxc-templates に移動された。 今後は distrobuilder を使うのがおすすめらしい。 ということで distrobuilder でイメージを作ってみる。

distrobuilder は go で作られているので go get でビルドする。

$ go get github.com/lxc/distrobuilder/distrobuilder

あとはイメージ作成用のテンプレートを使ってビルドする。 テンプレートは example を参考にする。 ホスト側にイメージ構築用のツールセットが必要になることがあるので適切にセットアップしておく必要がある。 たとえば debian 系ならば debootstrap が必要になる。

以下のコマンドでカレントディレクトリに meta.tar.gzrootfs.tar.gz が出来る。

$ distrobuilder build-lxc debian

あとは lxc でこのファイルをもとにコンテナを構築する。

$ lxc-create --name test --template local -- -m meta.tar.xz -f rootfs.tar.xz

あとはいつもどおりにコンテナを使うことが出来る。