82
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

Organization

OSXでpackerでCentOS6.4のVirtualBox VMを作成する

2014-05-23追記 vagrantcloud.comにCentOS 6.5とUbuntu 14.04のVMを登録しました

作成済みのVMだけ使いたい場合はそちらをご利用ください。手順は"packer - Ubuntu 14.04 を Vagrant に準備する - Qiita"へのコメントを参照してください。

また、packer用のtemplate.jsonはshiguredo/packer-templatesを利用するのがお勧めです。CentOSとUbuntuの新しいバージョンが出る度にpacker templateが追加されています。私もいつも利用させて頂いています。ありがとうございます!

packerのインストール

詳細はInstall Packer - Packerを参照してください。

  • Downloads - PackerでMac OSXのamd64のリンクをクリックしてダウンロードします。
  • ダウンロードしたzipファイルを解凍して~/packer/に配置します(~/packer/packerというパスでアクセスできるようにします)。
  • 以下のコマンドを実行します。
$ echo 'export PATH=~/packer:$PATH' >> ~/.bash_profile
$ exec $SHELL -l

packerが実行できることを確認します。

$ packer
usage: packer [--version] [--help] <command> [<args>]

Available commands are:
    build        build image(s) from template
    fix          fixes templates from old versions of packer
    validate     check that a template is valid

vagrantのbox作成

私が作成したpacker用の設定ファイルが
https://github.com/hnakamur/my-packer-template-files/tree/895f40358ff38328d30a69727bceba5f4962c3e2/centos6.4
に置いてあります。これをダウンロードしてpacker buildを実行します。

https://github.com/hnakamur/my-packer-template-files/commit/c90c7d6a17d522f9516a07176e873b99f30251da の方を使うと、provisioningでepelとAnsibleもインストールします。

$ git clone https://github.com/hnakamur/my-packer-template-files
$ cd my-packer-template-files/centos6.4
$ packer build -only=virtualbox template.json

これで、以下の処理が実行されます。

  • CentOSのisoイメージをダウンロード
  • VirtualBoxのVMを作成
  • プロビジョニング実行(template.jsonのprovisionersに対応)
  • vagrantのVM作成(template.jsonのpost-processorsに対応)

最終的にはpacker_virtualbox_virtualbox.boxが生成されます。VirtualBoxのVMは途中で一旦登録されますが削除されます。

vagrant box addコマンドで好きな名前をつけて登録します。

$ vagrant box add centos6.4 packer_virtualbox_virtualbox.box 

あとはいつも通りVagrantファイルを作ってvagrant upでお使いください。

参考サイト

Packerリリースおめでとうございます! - As a Futurist...を参考にさせて頂きました。ありがとうございます。

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
Sign upLogin
82
Help us understand the problem. What are the problem?