Veewee による Vagrant の Box 作成環境構築 Windows 版 その2
Veewee による Vagrant の Box 作成環境構築 Windows 版 その1 の続きになります。
前回構築した環境を使って、Veewee で実際に Box を作成していきます。
Box の作成
まずは以下を実行して Veewee が対応している box のテンプレートを表示します。
>bundle exec veewee vbox templates
沢山出てきて見づらい場合は以下のページでも確認できます。
https://github.com/jedi4ever/veewee/tree/master/templates
テンプレートを選んだら、選んだテンプレートの名前を指定して veewee vbox define を実行します。
ここでは「CentOS-6.4-x86_64-minimal」を使用して「centos64」という名前の box の雛形を作成しました。
>bundle exec veewee vbox define centos64 'CentOS-6.4-x86_64-minimal'
これにより veewee\definitions の下にファイルが生成されます。
veewee/definitions/centos64 ├─ base.sh ├─ chef.sh ├─ cleanup.sh ├─ definition.rb ├─ ks.cfg ├─ puppet.sh ├─ vagrant.sh ├─ virtualbox.sh ├─ vmfusion.sh └─ zerodisk.sh
作成する box の設定をカスタマイズする場合はこれらのファイルを編集します。
ここではまずは ks.cfg を編集し、以下の項目を変更して日本語環境にしました。
- ks.cfg
lang ja_JP.UTF-8 keyboard jp106 timezone Asia/Tokyo
次に definition.rb を編集し、以下などを環境に合わせ適宜変更します。
# CPU 数 :cpu_count => '1', # メモリ容量 :memory_size=> '1024', # HDD 容量 :disk_size => '30420', ・ ・ ・ # iso イメージ取得先。最寄のミラーに設定 :iso_src => "http://ftp.jaist.ac.jp/pub/Linux/CentOS/6.4/isos/x86_64/CentOS-6.4-x86_64-minimal.iso",
変更が完了したら veewee vbox build を実行します。
>bundle exec veewee vbox build centos64
途中、以下のように ISO ファイルをダウンロードするか聞かれるので、 Yes を入力し Enter を押します。
・ ・ ・ We did not find an isofile here : C:/Documents and Settings/akishin/src/ruby/veewee/iso/CentOS-6.4-x86_64-minimal.iso. The definition provided the following download information: - Download url: http://yum.singlehop.com/CentOS/6.4/isos/x86_64/CentOS-6.4-x86_64-minimal.iso - Md5 Checksum: 4a5fa01c81cc300f4729136e28ebe600 Download? (Yes/No) Yes
ISO ファイルがダウンロードされ、自動的に VirtualBox のウインドウが起動して OS のインストールが進んでいきます。
暫く待ち、以下のようなメッセージが表示されれば OS のインストールは完了です。
・ ・ ・ The box centos64 was built successfully! You can now login to the box with: ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 7222 -l veewee 127.0.0.1
もしここまででインストールが途中で失敗したり、やり直したくなって強制的に止めた場合、再度 vbox build を実行するには --force オプションを指定する必要があります。
vbox build 完了後、 VirtualBox のウインドウは開きっぱなしで、ゲストも起動したままになっています。
ここから vagrant 用の box に変換するため、一旦ここで仮想マシンをシャットダウンします。
ゲストには以下のユーザが作成されているので、いずれかでログインして shutdown コマンドを実行してください。
ユーザ | パスワード |
---|---|
vagrant | vagrant |
veewee | veewee |
root | vagrant |
一般ユーザも sudo が許可されているので、sudo shutdown -h now などを実行可能です。
仮想マシンが停止したら、コマンドプロンプトから以下を実行し、作成した仮想マシンを box ファイルへとエクスポートします。
>bundle exec veewee vbox export centos64
完了すると veewee ディレクトリの下に拡張子 box のファイルが作成されているので、適当なディレクトリに移動させておきます。
>mv centos64.box D:\vagrant\box
これで box が作成できました。
box を使う
作成した box を使用するには、外部の box を使う時と同様、まずは vagrant に box add する必要があります。
早速作成した box ファイルを vagrant に追加してみます。
>vagrant box add centos64 D:\vagrant\box\centos64.box
問題なく追加できたら、仮想マシン用のディレクトリを作成し、vagrant init を実行します。
>md centos64-01 >cd centos64-01 >vagrant init centos64
これで vagrant 用の新たな仮想マシンが作成されました。
vagrant up すれば仮想マシンが起動できます。
>vagrant up
msysgit を入れてコマンドプロンプトで ssh コマンドが使える状態になっている場合、仮想マシン起動後に vagrant ssh でコマンドプロンプトから SSH 接続することが出来ます。
>vagrant ssh
以後は仮想マシンが必要になる度に、
で作成することが出来るようになりました。
以上で Windows での Vagrant + Veewee 環境の構築は完了です。
Windows 上で気軽に Linux 環境を作ったり消したりできるようになったので、いろいろと検証などがはかどりそうですね。
参考
veeweeを使ってVagrant用のboxを自分で作る方法 | Ryuzee.com
http://www.ryuzee.com/contents/blog/6614