Packerのcompression_levelオプションを試してみた
Packerにcompression_levelというオプションがあったので、使ってみた。 以下のような感じで、post-processorsでcompression_levelを指定するだけ。0から9まで指定できて、0が圧縮せず、9が圧縮率最大。デフォルトは1。
"post-processors": [
{
"type": "vagrant",
"compression_level": 9,
"output": "./CentOS-6.4-x86_64.box"
}
んで、やってみた。
- オプション指定しなかった場合のboxのファイルサイズ: 503M
- 「"compression_level": 9」を指定した場合のboxのファイルサイズ: 502M
多分、なんか間違ってる。ぐぐったら、なんか常にデフォルト値が使われてるとか載ってたけど、PACKER_LOGって環境変数使えば、デバッグログ出せるらしいのでやってみる。 こんな感じで有効にできる。
PACKER_LOG=/tmp/packer.log packer build ./test.json
ログ見ると以下のようにちゃんと出てる。
Compressing with gzip compression level: 9
うむ。しかし、サイズ減らない。ダメだ。実行時間だけが増えていく。。。
https://github.com/mitchellh/packer/blob/master/post-processor/vagrant/util.go 見る限り、gzipしてるだけだけど、イメージの圧縮は厳しいかな。 以上。切ない。