Vagrantの使い方

  • 270
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

Vagrantとは

Vagrantの使い方を忘れないようにメモしておこうと思います。
Vagrantとは、VirtualBoxやVMFusionなどの仮想化マシンの自動作成・管理ツールになります。
最近、バージョン1.1が公開されました。

どんな事ができるのか

boxと呼ばれるひな形を使って、簡単に仮想マシンを構築する事が出来ます。
本来 VirtualBoxなどを使う際は、イメージファイルをダウンロードして設定そしてインストールなどの手間が生じます。
テストするために環境を作りすぐ破棄する場合には、とても面倒な作業になることでしょう。
そのようなテスト環境構築のためなどにVagrantを使用します。

インストール方法

vagrantインストール

gemを使ってインストールします。
<<追記>>
最近公開された1.1.x系統ではMac,Windowns,redhat系でもパッケージが存在します。
パッケージからインストールする事も出来ます。
しかし

  • net-scpあたりの依存関係が未対応なところが多いこと
  • veeweeなどを使う場合、vagrantの古いバージョンに依存していること

などが挙げられるので、今回もgemからインストールすることをお勧めします。

vagrant-install
gem install vagrant --no-ri --no-rdoc

ちなみに1.1.x系統は以下のページにございます。

重要!!
以前gemを使ってvagrantをインストールされた方で、vagrant1.1X系統にアップグレードされる方は一回アンインストールしなければなりません。
詳しくはドキュメント参考をお願いします。

vagrant-uninstall
gem uninstall vagrant

バージョンによっては、対応されてないプラグインなども存在します。
どのバージョンをインストールするのかお気をつけ下さい。

Vagrantの使い方

Vagrantコマンド

vagrantコマンド 説明
vagrant init vagrant 初期化(Vagrantfileの作成)
vagrant up vagrant 起動
vagrant ssh vagrant ログイン
vagrant halt vagrant 終了
vagrant reload vagrant リロード(Vagrantfile編集時にいちいちhalt,upしなくて良い

ほかにもpackageなどのオプションが存在します。

セットアップ

流れとしては以下のようになります。
1.boxファイルのインストール
2.Vagrantの初期化
3.vagrantの実行
4.vagrantの終了

1.boxファイルのインストール
あらかじめテンプレートとしてboxが用意されています。

vagrantコマンドにbox addオプションを使用すると、boxファイルのインストールができます。
今回はCentOS-6.3-x86_64-minimal.boxを使います。

vagrant-setup
vagrant box add vagrant-test https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box

これで、vagrant-testというboxが作られました。
vagrant box listコマンドで確認してみます。

vagrantbox-check
vagrant box list
vagrant-test


2.Vagrantの初期化
vagrant initコマンドを最初に打たないといけません。
コマンドを打つと、Vagrantfileという設定ファイルが作られます。
設定ファイル+chefなどと組み合わせることで自分独自の環境が構築できます。

Vagrantfile
vagrant init vagrant-test
#vagrant-testの部分はboxの名前になります



3.vagrantの実行
vagrantの実行=仮想マシンの実行になります。
vagrant upコマンドでvagrantを実行します。

vagrantup
vagrant up

vagrant sshコマンドでログインできます。

vagrant-ssh
vagrant ssh



4.vagrant終了
vagrant haltコマンドで終了できます。

vagrant-shutdown
vagrant halt

この仮想マシンもう必要ないなという時は以下のコマンドで、破棄できます。

vagrant-destroy
vagrant destroy

ベースなっているbox自体を破棄する訳ではありません。
boxが保存される場所は、私の環境ですと以下の場所になります。

vagrant-box
/Users/username/.vagrant.d/boxes

vagrant destroyコマンドを入力してもbox自体は破棄されておりません。

仮想マシンが保存されている場所が変更されています。

vagrant-destroy
/Users/username/VirtualBox VMs

vagrant destroyコマンドを入力するまえと入力したあとで、見比べて下さい。
仮想マシンが減っている事にお気づきになると思います。

よって、vagrant upコマンドを打つ事でまたテスト環境を作る事が可能です。
以上です。