なんとなくVagrant便利らしいので使ってみようかと思い、現段階でのUbuntu最新版14.04の環境を構築してみました。
Vagrantのインストール
Vagrantの公式ページからVagrantをダウンロードしてきます。
特に特殊な操作は必要なくGUIでインストールできます。
インストールできたら
$ vagrant --version
Vagrant 1.6.3
で確認できます。(Rubyで出来てるのでversion確認方法も同じですね)
わかりにくかったら、ここのページにあり得ないくらい親切に書いてあるので参照して下さい。
Virtual Boxのインストール
実際に仮想化ソフトを作り出すバックエンドをしていするのですが、ここでは無料のVirtual Boxを使ってやってみます。
こちらのインストールも公式サイトから簡単にダウンロードできます。
UbuntuのBoxイメージの作成
VagrantはBoxイメージと呼ばれる、仮想マシンを作成する際に必要なOSのディスクイメージファイル等が入ったファイルの集まりで、仮想マシンのテンプレートを作る必要があるそうです。
http://www.vagrantbox.es/などで配布されている.boxファイルを使用することも出来るのですが一応カスタマイズするときとかにはイメージから作成するらしいので今回は自分で作ってみます。
Packerのインストール
Virtual Box用のイメージの作成や、AWSのAMIイメージ等を作成するのに便利なツールとしてPackerが有名らしいのでまずPackerのインストール
Homebrewでインストールするのが速そうだったのでそちらで。(公式サイトでも.zip形式で配布してるようです)
$ brew tap homebrew/binary
$ brew install packer
同様にインストールできたかの確認
$ packer --version
Packer v0.6.0
Boxイメージの作成
それではPackerを使ったboxイメージの作成に入ります。
テンプレートを落としてきてからPackerでイメージにbuildする形です。
テンプレートからbuildしたjsonを弄って色々カスタマイズが出来るらしいです。
buildは結構時間掛かりますが私の場合20分掛からず終了しました。
$ git clone https://github.com/shiguredo/packer-templates.git
$ cd packer-templates/ubuntu-14.04
$ packer build -only=virtualbox-iso template.json
Vagrantの起動
Boxイメージが出来たらあとはVagrantで設定して終了
$ vagrant box add ubuntu-14.04 ubuntu-14-04-x64-virtualbox.box # イメージファイルを ubuntu-14.04 という名前で登録
$ vagrant box list # ubuntu-14.04 が box に登録されてかの確認
$ cd /作業ディレクトリ
$ vagrant init ubuntu-14.04 # box の ubuntu-14.04 で Vagrantfile(設定ファイル)を作成する
$ vagrant up # 起動
$ vagrant ssh # 起動した仮想マシンにsshでログイン