Vagrantで仮想マシン上に開発環境を作成する


こんにちは。
朝食はどっち派?と問われればご飯派、mukaiyachiです。

以前からVagrant(ベイグラント)に興味があったのでちょっと試しに使ってみました。

Vagrantは仮想マシンの作成、セットアップ、破棄等を簡単なコマンドを実行することで操作できるツールです。

Vagrantの良い点は下記のようなものがあります。

  • 本番環境と開発環境を統一できる。
  • 開発環境をすぐに作ったり壊したりできる
  • プロジェクト毎に開発環境を分けることができる。
  • 複数人で開発しているとき「自分の環境だと動かないんだけど?」「いや私の環境では普通に動くけど?」のようなことがなくなる。

今回はVagrantを使って仮想マシンの作成、セットアップ、Webサーバを起動してブラウザに画面を表示するというところまでを行ってみました。
それぞれ順番に記していきます。

1、Vagrantのインストール

こちらからダウンロードしてインストールします。
Vagrantインストール完了

インストールができたらターミナルソフトでvagrantコマンドが使えるか確認してみます。
ここでは「vagrant -v」と入力してVagrantのバージョンを調べています。
vagrantコマンドはCUIでVagrantを操作するためのコマンドです。
Vagrantの全ての操作はこのコマンドで行います。

2、VirtualBoxのインストール


VirtualBox
はオラクルが開発している仮想化ソフトウェアです。

Vagrantを使う時の仮想化ソフトウェアとしてVirtualBoxが一般的に使用されています。

こちらからダウンロードしてインストールします。

VirtualBoxインストール完了

3、Vagrantの初期化

「vagrant init」コマンドで初期化します。
「vagrant init hashicorp/precise32」 と入力して実行。

precise32はUbuntu 32ビットのことで初期化時にそのBoxファイルを追加しました。
Boxファイルは仮想マシンのテンプレートです。

初期化するとコマンドを実行したディレクトリにVagrantfileができます。
Vagrantfileは仮想マシンの構築設定を記述する設定ファイルです。

さらにCentOSなどの別のBoxファイルを追加したい場合は「vagrant box add」コマンドで追加できます。

4、仮想マシンの起動

「vagrant up」コマンドで仮想マシンを起動します。
「vagrant up」と入力して実行。
初回はちょっと時間がかかります。

ちなみに追加されているBoxファイルの一覧を表示するには、「vagrant box list」というコマンドで確認できます。

また「vagrant status」コマンドで現在の仮想マシンの状態が確認できます。

5、仮想マシンにSSH接続

「vagrant ssh」コマンドで仮想マシンにSSH接続します。
「vagrant ssh」と入力して実行。

6、仮想マシンの停止

「vagrant halt」コマンドで仮想マシンを停止します。
「vagrant halt」と入力して実行。

「vagrant status」コマンドで状態を確認すると停止しているのがわかります。

7、仮想マシンの一時停止、再開

「vagrant suspend」コマンドで仮想マシンの一時停止が行えます。
「vagrant suspend」と入力して実行。

「vagrant status」コマンドで状態を確認すると一時停止しているのがわかります。

「vagrant resume」コマンドで一時停止していた仮想マシンを再開できます。

8、プロビジョニング

Vagrantは自動プロビジョニングをサポートしていて、この機能を使うこと「vagrant up」実行時にソフトウェアを自動的にインストールして、繰り返し利用可能な状態にしてくれます。

今回は仮想マシンが起動した時にApacheも起動しているようにしてみました。

■bootstrap.shの作成

Vagrantfileがあるフォルダと同じ階層にbootstrap.shを作成。

中身はこのようにします。

■Vagrantfileの設定を変更

※ここでは見やすいようにコメント部分は除いてます。

■プロビジョニング

設定をしたら仮想マシンを作ってVagrantfileが自動的にbootstrap.shファイルを処理するようにします。
まだ仮想マシンを起動していない場合は「vagrant up」で起動、すでに起動している場合は「vagrant reload」で再起動します。

今回は「vagrant reload」を使用しました。
「vagrant reload  –provision」と入力して実行。

■SSH接続してWEBサーバが動いているか確認

9、ネットワーキング

ネットワーキング機能でホストマシンのブラウザからアクセスできるようにします。

まずはVagrantfileの設定を下記のように変更します。

次に再起動を行います

・ホストマシンのブラウザで確認
にアクセスしてみます。

ページが表示できることが確認できました。
ネットワーキング確認

10、仮想マシンの削除

「vagrant destroy」コマンドで仮想マシンを削除します。
「vagrant destroy」と入力して実行。

「vagrant status」コマンドで状態を確認すると削除されているがわかります。

Vagrantはすぐに仮想マシンを作ったり消したりできて便利だと思いました。

みなさんもぜひお試しください。