Vagrant の box を新規作成
MacOS X Yosemite で Heroku にアプリを公開するまでの環境構築を何回かに分けて書きます。
vol.01 VirtualBox インストール編
vol.02 Vagrant インストール編
vol.03 Vagrant box作成編
vol.04 VagrantのCentOS 6.5 仮想マシン(box)起動まで
vol.05 Rails 開発環境準備
vol.06 Git 環境を整備
も合わせてお読み下さい。(というか、先にこれらの操作が必要です)
さて、ここまでの設定は一般的なものなので、この仮想マシンは今後も汎用的に使えそうです。
ここで少し脱線して、現在の状況を新しい boxファイル にして保存しておきましょう。この操作をパッケージ化と呼ぶようです。
VirtualBoxの機能を使って現在のスナップショットを作ることもできますが、boxにしておくと後々で便利な可能性あります。
オリジナルの box化 方法
vagrantにログイン中の場合、ログアウトして仮想マシンも落としましょう。
exit
(Vagrantを抜けたら)
vagrant halt
このまま Vagrantfile があるディレクトリで、
vagrant package
と入力すると、package.box というファイルが出来上がります(けっこう待ちます)。
lsコマンドで確認すると、package.boxというファイルが確認できると思います。ファイルが多いなら grep で絞り込んで表示。
ls | grep box$
出来上がった package.box を適当な名前を付けて、どこかの保存しておきましょう。
mv package.box centos65-x86_64-20140116_rails.box
今後、この box を使う場合には vol.03 Vagrant box作成編 に記載したように
vagrant box add [BOX名] [.boxファイルのある場所]
でOKです。BOX名はファイルパスを入れてください。.boxファイルと同じフォルダにいるなら、
vagrant box add centos65-x86_64-20140116_rails centos65-x86_64-20140116_rails.box
でOKです。
vagrant box list
で box が追加されたかどうか確認できます。
なお、.boxファイルは大きいので何度も作成して保存しておくような使い方はしないと思います。
バージョン管理的なことをしたいなら、VirtualBoxを立ち上げてスナップショットを取る方が良いです。
キーワード
- MacOS X
- VirtualBox
- Vagrant
- CentOS
- Ruby on Rails
- RVM (Ruby Version Manager)
- Heroku