Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Packerをつかって3ステップでVagrantのBoxを作る

More than 3 years have passed since last update.

Vagrantは使っているけども、Packerは使っていないって方がだいたいかと思います。
まあそこまでやらずともvagrantboxで十分やんけ

よくわかる

自分も昔Packerでbox作った時に

超めんどくさかった。。。。(ビルドに時間がかかるので)

インフラに携わっている人とかには魅力を感じるかもしれませんが、デベロッパーにしてみたら

「ふーんそういうものがあるんだ。。。で??」

が正しいリアクションかもしれません。

でも他人が作ったboxとかよりも自分で作ったもののほうがブラックボックスではないよね

とか感じるときあるんすよ。(ほんのたまに)
自分も一回作った後は面倒でやっていなかったのですが普段お使いのPackerで作ったBoxがCentOS6.4でCentOSのバージョンも7まで上がったので重い腰あげようと思って
ググったら便利なものがありました。

Boxcutter

Packerの各OSでのテンプレートが配布されていて基本選ぶだけというものなので
これで使った時のメモになります

環境

  • macosx10.8(ホストOS)

作る仮想インスタンスのOS(VirtualBoxで)

  • CentOS7.0-x86_64

事前準備に必要なもの

参考にしたサイト

Boxcutterを使わずに作成した時のメモ

Boxcutterで自分が作りたいOSを選択して Git cloneする

言語設定等が必要になるのでCloneしましょ

/path/to/dir
#cloneよりかはforkしたものをcloneしたほうがベスト
git clone https://github.com/box-cutter/centos-vm.git

自分が作りたいOSのcentosXX.jsonを編集する

これはビルドするファイルの設定ファイルになります。
iso_urlがデフォルトUSかどこかのサイトになっているので変更しましょう。
(ビルドに時間がかかる為やったほうが幸せになれる)

centos70.json
#iso_urlの部分を編集する
    "iso_url": "http://ftp.riken.jp/Linux/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso",

TimeZoneの設定をする

デフォルトがUTCなのでAsia/Tokyoにする

http/ks7.cfg
timezone UTC #修正前
timezone Asia/Tokyo #修正後

ビルドする

ビルドに時間がかかります

/path/to/centos-vm
packer build --only=virtualbox-iso centos70.json

これだけでVagrantに使用するBoxの出来上がりです。

ちなみに出来上がったboxをVagrantに設定するのは下記のようにします

  #box url
  config.vm.box_url = "./path/to/centos-vm/box/virtualbox/centos70-nocm-0.1.0.box"

今まで億劫だったboxのビルドの管理も大分楽してできるようになりました。

補足

自分でビルドのオレオレ設定を書きたい場合は
scripts/* 以下にビルド実行の色々な設定やらなにやらがありますのでそこを自分なりに編集してください

ryurock
認定スクラムマスター 認定プロダクトオーナー http://www.scrumalliance.org/community/profile/rkimura2
https://github.com/ryurock
visasq
ビザスクは「知見と、挑戦をつなぐ」をミッションに、世界で1番のナレッジプラットフォームをつくっています。 様々なニーズにつなぐことで、実際に経験したことで得られた知識や意見を、知見として価値最大化します。組織、世代、地域を超えて、知見を集めつなぐことで、世界中のイノベーションに貢献します。
https://visasq.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away