Vagrantのインストールと仮想マシンの作成

2013年10月08日 22時37分

201310082237VVAW00.png

はじめに

VirtualBoxのインストールと仮想マシンの作成および、VBoxManageを使って仮想マシンを作成するでは、VirtualBoxを使った仮想マシンの作成方法について解説しました。
仮想マシンは、開発環境やテスト環境を構築する上で、 開発者にとって欠かせないものとなっていますが、仮想環境の作成には、仮想マシン作成、OSインストールなど多くの時間が必要です。

そこで今回は、仮想化支援ツールのVagrant(ベイグラント)を使った仮想マシンの作成方法について解説します。

Vagrantとは

Vagrantは、Mitchell Hashimotoさんが開発を行う仮想化支援ツールです。
支援ツールですから、Vagrant単体では仮想マシンの作成は行えませんが、既に作成されたVagrant用の仮想マシンイメージ(仮想化の世界では、Boxと呼んでいます)を簡単に起動することができます。

Vagrantの代表的なコマンドは、下記のとおりです。

コマンド概要
initVagrantfileを作成する。
addBoxを追加する。
upBoxを起動する。
sshBoxに接続する。
deleteVAGRANT_HOMEにダウンロードしたBoxを削除する。
destoryVirtualBoxに登録したBoxを削除する。
listVagrantが登録したBoxを表示する。

前提条件

作業の前提条件は、下記のとおりです。

ソフトウエアバージョン
OSWindows 7 Ultimate 32bit
CygwinSetup Version 2.831
VirtualBox4.2.18 r88780

Vagrantのインストール

下記の手順でインストールします。

  1. インストーラーのダウンロード

    ダウンロードサイトから、Windows用のインストーラーをダウンロードします。
    今回は、バージョン1.2.7のインストーラーをダウンロードしました。

  2. インストーラーの起動

    インストーラーを起動し、ウイザードに従ってデフォルトインストールします。

    201310082237VVAW01.png
    201310082237VVAW02.png
    201310082237VVAW03.png
    201310082237VVAW04.png
    201310082237VVAW05.png
    201310082237VVAW06.png
    201310082237VVAW07.png
    201310082237VVAW08.png
    インストールが終了すると、再起動を要求されますので、システムを再起動します。
  3. 環境変数の設定

    Vagrantでは、仮想マシンの起動時にVagrantfile内で指定されたBoxイメージまたは、addコマンド実行時に指定したBoxイメージをローカル側に保存します。

    デフォルトでは、C:\Users\ユーザー名\.vagrant.d\boxesフォルダに保存されますので、環境変数VAGRANT_HOMEを設定して、別フォルダに保存します。
    今回は、Cygwin上でvagrantコマンドを実行するため、.bashrcにVAGRANT_HOMEを設定します。

    export VAGRANT_HOME=e:/vagrant/.vagrant.d
    export VAGRANT_DEFAULT_PROVIDER=virtualbox
    

    上記の例では、VAGRANT_HOMEをE:\VAGRANT\.vagrant.dに設定し、VagrantのデフォルトプロバイダにVirtualBoxを指定しています。

仮想マシンの起動

Vagrantを実行する環境が作成できましたので、Vagrantを使って仮想マシンを起動します。

  1. Vagrantの初期化

    Vagrantでは、Vagrantfileという設定ファイルを元に仮想マシンの起動やプロビジョニングを行います。このため、initコマンドを使用してVagrantfileを作成します。

    initコマンドの書式は、下記のとおりです。

    vagrant init 仮想マシン名

    $ vagrant init precise32
    
    201310082237VVAW09.png
  2. 仮想マシンの追加

    Vagrantでは、新規仮想マシンを作成できませんが、既に作成されているBoxを追加することができますので、Vagrantbox.esで公開されているBoxの中から、Ubuntu precise 32 VirtualBoxを追加します。

    addコマンドの書式は、下記のとおりです。

    vagrant box add 仮想マシン名 URL

    仮想マシン名には、initコマンドで指定した仮想マシン名を指定し、URLには、先のCentOS 6.4 i386 MinimalのURLを指定します。

    $ vagrant box add precise32 http://files.vagrantup.com/precise32.box
    
    201310082237VVAW10.png

    実行すると、指定したURLからBoxイメージがダウンロードされ、Boxが追加されます。

  3. 仮想マシンの起動

    仮想マシンの起動準備が終わりましたので、upコマンドを使用して、追加したBoxを起動します。

    upコマンドの書式は、下記のとおりです。

    vagrant up

    $ vagrant up
    
    201310082237VVAW11.png

  4. 仮想マシンへ接続

    仮想マシンが起動しましたので、sshコマンドを使用して、Boxに接続します。

    sshコマンドの書式は、下記のとおりです。

    vagrant ssh

    $ vagrant ssh
    
    201310082237VVAW12.png
  5. 仮想マシンの停止

    起動中の仮想マシンを、haltコマンドを使用して停止します。

    haltコマンドの書式は、下記のとおりです。

    vagrant halt

    $ vagrant halt
    

まとめ

ここまで、Vagrantのインストールと基本的な使い方について解説しました。
Vagrantは、既存のBoxをダウンロードしローカルで実行できるため、簡単に開発環境を作成することが出来ます。

筆者もVagrantを使用した開発を行っていますが、開発環境をイチから作成する機会は殆ど無くなりつつあります。

仮想化支援ツールとして、是非試してみては如何でしょうか。