いよいよVagrantを使ってみます。
Vagrantとはなにかということを調べてみました。
結論からいうと、仮想マシンを簡単に立ち上げるツールということではないかと思いました。
今までの流れ
1)OSのISOなどを準備
2)初期設定
3)ISOをマウントしインストール
4)起動して使いはじめる・・・
あと、OSのインストールが時間がかかる場合があるんですよね。
VMWarePlayerとかだったら作成したvmdkをコピーしてみたいなことができましたが、管理という意味だと確かにスマートではなかったかもしれませんね。
Vagrantを使った流れ
1)boxをダウンロード
2)初期化
3)起動
boxをダウンロードというところがミソですね。予めインストールされたboxをダウンロードできるので、起動した瞬間から使えるということなんですね。
楽すぎる。
BOXの取得
boxは誤解を恐れずにいうとOSがインストールされたイメージファイルみたいなものなので、信頼されたところからじゃないと使うのが怖いと思います。
ということを言いつつも、今回は有志の方が作成されたboxを使用したいと思います。
vagrantbox
今回は、「CentOS 6.3 x86_64 minimal」をダウンロードしてみます。
[shell]% vagrant box add centos63 https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box[/shell]
Successって出たらOKです。完了です。
ちなみに、centos63っていうのが今回追加したbox名になります。
以下の手順で仮想マシンを作成するときにbox名を指定することになりますので、わかりやすい名前がよいと思います。
仮想マシンの準備
今回は仮想マシンごとにディレクトリを作って管理します。
ということで、作成します。別にどこでもいいと思いますが、自分はホームディレクトリ以下に作りました
[shell]% mkdir ~/vagrant
% cd ~/vagrant
% mkdir centos63
[/shell]
ディレクトリの名前は何でもいいと思います。
仮想マシンの作成
いよいよ仮想マシンの作成を行います。
現在は、~/vagrant/centos63
にいます。
[shell]% vagrant init centos63[/shell]
これで、同一ディレクトリにVagrantfileというファイルが出来たと思います。これが設定ファイルなのではないかと思います。
仮想マシンで起動
[shell]% vagrant up[/shell]
これで、起動できます。
仮想マシンへの接続は
[shell]% vagrant ssh[/shell]
でログインできます。ログイン後root権限で実行したい場合は、sudoコマンドで実行します。
今回用意したboxはgccなどの開発用ツールはインストールされていませんので、yumでインストールしました。
[shell]% sudo yum groupinstall "Development Tools"[/shell]
あと、rubyが1.8.xと若干古かったので、rubyは削除しておきました。
[shell]% sudo remove ruby[/shell]
仮想マシンの終了
仮想マシンの終了は
[shell]% vagrant halt[/shell]
です。
削除は
[shell]% vagrant destroy[/shell]
です。
boxが削除されるわけではなく、生成した仮想マシンがディスクから削除されます。
ちなみに、仮想マシンのデフォルトの保存場所は
~/VirtualBox VMs
に作成されるみたいです。
所感
実際やってみたけど、ここまでの作業30分くらいですからね。
すごい楽。そして速攻使える環境が手に入るなんて楽すぎるでしょ。
VMのディスクコピーするよりかなり健全に環境を準備できるのではないかと思います。
次は、Vagrantとchefなどのインフラツールを使ってみたいと思います。