前提
- vagrant, VirtualBoxはあらかじめインストール済み
仮想マシンのインストール
用語
- box
Vagrantでは、OSのインストーラを使って仮想マシンにOSをインストールするのではなく、あらかじめOSがインストールされたディスクイメージを使用して仮想マシンを作成する。VagrantではディスクイメージやVirtualBoxの設定ファイル、メタデータなどを「box」(複数形は「boxes」)という形式のファイルにまとめて取り扱う
http://knowledge.sakura.ad.jp/tech/1552/2/
- Vagrantfile
「Vagrantfile」というファイルに作成する仮想マシンの設定情報を記述する
http://knowledge.sakura.ad.jp/tech/1552/2/
手順
- boxファイルを選定する。公開されているサイト例は下記
Puppet Labs Vagrant Boxes http://puppet-vagrant-boxes.puppetlabs.com/
Chef社の「Bento」プロジェクト https://github.com/opscode/bento - Vagrantfileを生成するディレクトリを作成
- 「vagrant init box名 boxのURL」コマンドでVagrantfileを生成する
例: $ vagrant init centos-6-x64 http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210.box
box名は任意の名前を付与することができる(ただし仮想マシン名自体がboxのメタデータとして定義されてるものもあるっぽい。その場合はvagrant upの際にエラーになるっぽい) - 「vagrant up」コマンドでboxファイルをダウンロード(初回のみ)し、起動する
Guest Additions
Guest Additions とは、VirtualBoxのプラグイン。このプラグインを使うと、共有フォルダのマウントができる。
ただ、GuestAdditionsはカーネルのバージョンが変わると新たにビルドしなきゃいけなくなるので注意。
その時の対応としては vagrant vbguest コマンドを打つ。
これやるとGuest Additionsをアップデートしてくれるみたい。
cf. http://qiita.com/isaoshimizu/items/e217008b8f6e79eccc85
備考
「vagrant init box名 boxのURL」の代わりに下記手順でもOK
- vagrant box add box名(管理用っぽい) boxのURL
→ ローカルにboxファイルをダウンロードする
コマンド詳細は http://lab.raqda.com/vagrant/cli/box.html - vagrant init box名
→ ダウンロードしたboxをもとにVagrantfileを生成
その他よく使うコマンド
boxの操作系
- vagrant box list
ローカルに保存されたboxの一覧を表示 - vagrant box remove
ローカルに保存されたboxを削除
仮想マシンの操作系
- vagrant up
仮想マシンを起動 - vagrant ssh
仮想マシンにログインする。アイパスは vagrant/vagrant - vagrant halt
仮想マシンの停止 - vagrant destory
仮想マシンの破棄 - vagrant status
仮想マシンの稼働状況を確認
参考
- Vagrant日本語ドキュメント http://lab.raqda.com/vagrant/index.html