構成
- Windows8 64bit
- Virtual Box 4.3
- Vagrant 1.6.3
Vagrantのインストール
VirtualBoxのインストールは省略して、Vagrantのインストールを行います(要再起動)。 と言いつつ特別なことは無いのでインストールは割愛します。ウィザードで変更したことと言えば、インストールディレクトリをちょっと変えたくらいです。
boxesを利用してVM追加
インストール終わったらまずはboxを追加します。boxはOSイメージファイルとその他、もろもろの設定のパッケージと思ってもらえればOKです。下記のサイトでいろんなboxが公開されています。好みのものを利用します。
(なお、最初から boxを自作しようと思わない方がいいです。挫けます)
さて、自分好みのboxはありましたか?あったら、その列に記述されているURLをコピーしてください。URLをコピーしたらconsole(コマンドプロンプトでも可)でbox add
します。
vagrant box add [vmのラベル(任意)] [boxのURL]
自分の場合はこんな感じ↓。ラベルはOSの名前などではなくて、その設定用途を書く方が適切かもしれません(例:jekyll-server)。
vagrant box add ubuntu13 https://cloud-images.ubuntu.com/vagrant/raring/current/raring-server-cloudimg-amd64-vagrant-disk1.box
add
するとOSのイメージファイルをDLし始めます。時間かかるのでしばらく放置しておきましょう。
イメージファイルの保存先はC:\Users\[UserName]\.vagrant.d\boxes
です。
==> box: Adding box 'ubuntu13' (v0) for provider:
box: Downloading: https://cloud-images.ubuntu.com/vagrant/raring/current/raring-server-cloudimg-amd64-vagrant-disk1.box
box: Progress: 100% (Rate: 1477k/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'ubuntu13' (v0) for 'virtualbox'!
初期化
imageファイルのダウンロードが済んだら初期化します。
初期化するとVagrantfile
が生成されるので、作業ディレクトリを作ってそこで初期化を実行するといいでしょう。
cd [作業ディレクトリ]
vagrant init ubuntu13
ここで指定しているubuntu13
は、vagrant box add
したものと一致させます。
自分がどんなboxを手元に持っているか確認するにはvagrant box list
で確認してください。
立ち上げ
initが終わったら準備完了です。Vagrant経由でVMを立ち上げます。
vagrant up
立ち上がると以下のようなメッセージが出ると思います。
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu13'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: Console2_default_1402077161744_58634
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection timeout. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
default: The guest additions on this VM do not match the installed version o
f
default: VirtualBox! In most cases this is fine, but in rare cases it can
default: prevent things such as shared folders from working properly. If you
see
default: shared folder errors, please make sure the guest additions within t
he
default: virtual machine match the version of VirtualBox you have installed
on
default: your host and reload your VM.
default:
default: Guest Additions Version: 4.2.10
default: VirtualBox Version: 4.3
==> default: Mounting shared folders...
default: /vagrant => [カレントディレクトリのパス]
初めてvagrant up
を行うと、.vagrant
ができます。このディレクトリの中にはVirtual Boxとつなぐための設定が入っているようです。
またVirtual Boxを立ち上げてみると仮想マシンが追加されているのも確認してください。
そしてログイン
立ち上げたVMにログインしてみましょう。SSHの使えるソフトを使う必要はありません。以下のvagrantコマンドでログインできます(コマンドプロンプトでもいける!!)。
vagrant ssh
余談ですが、このvagrant ssh
も実行できるのはVagrantfile
が置かれているディレクトリのみのようです。そうじゃないところで実行すると
VM must be created before running this command. Run `vagrant up` first.
と怒られます。
VMを落とす
先ほど立ち上げたVMを落とします。これも非常に簡単。
vagrant halt
Virtual Boxで確認してもVMが落ちているのが確認できます。
Vagrant Destroyについて
一回作った環境をもう一回ゼロから作り直したいというときにはvagrant destroy
を利用します。
vagrand destroy
これを行うと、最初のvagrant up
の時に生成した仮想マシンを破棄します。試しにvagrant destroy
するとVirtual Box上から仮想マシンが無くなっているのが確認できます。
もう一回vagrant up
すると再び仮想マシンが作成されます。
初期化からやり直すには?
初期化しなおすにはvagrantfileを削除すればOKです。
rm vagrantfile
今回は以上です。次回はsaharaプラグインを使って、環境を作ったり壊したりしてみます。
参考:boxファイルについて
途中「boxを自作しようと思わない方がいいです」と言いましたが、勿論自作できます。Virtual Box上でOSインストールをし、決められた設定を行えば、.boxファイルとして書き出せます。 自作boxについては以下の記事が詳しいので、掲載しておきます。
Vagrant の VirtualBox 用 Base Box ファイルを手動で作ってみる
自分にあったboxがVagrantbox.esになかったら作ることも考えてはいかがでしょうか。