vagrantを使った仮想マシンの作成手順

はじめに

vagrantは非常に便利なツールです。これまではVirtualBoxやVMWare上でisoファイルを指定し、設定項目入力して〜のような作業を行って仮想マシンを作成していましたが、vagrantを使うことでこれらの作業をコマンド1つで完了することができます。開発環境のために仮想マシンを用意するなど、仮想マシンを作成する作業が頻繁に必要な場合はvagrantによってだいぶ楽になると思います。他にも色々メリットがあるvagrantですが、使い始めてだいぶ慣れた気がするのでvagrantで仮想マシンを作成する手順を備忘録としてメモしておきます。なお、以下のサイトがvagrantを使うメリットについてまとめてあって参考になりました。

Vagrantって流行ってるらしいけど何が便利なの? | Developers.IO


環境と前提

  • VirtualBoxやVMWareの仮想環境ソフトがインストール済である環境
  • (以降ではVirtualBoxを使用します。)


Windowsでvagrantを使う場合はUNIXシェル環境を準備

vagrantを使うためには、sshコマンド等を使うためのUNIXシェル環境が必要となります。WindowsにはデフォルトでUNIXシェル環境がないため、以下のURLからGit for Windowsをダウンロードし、インストールしておきます。Git for Windowsのおかげで、完全なUNIXシェル環境ではないものの非常に簡単にUNIXシェル環境を整備できます。

Git for Windows

なお、Git for Windowsのインストール手順を以下にまとめているので必要な方は見てみてください。

Windows用のお手軽なUNIXシェル環境としておすすめなGit for Windows (Git Bash)


vagrantのダウンロードとインストール

以下のURLのvagrantのHPにアクセスします。

Vagrant

アクセスすると以下のような画面になると思うので、「DOWNLOAD」をクリックします。
vagrant-top
すると以下の画面が表示されるので、各自のOSに合わせて選択します。
vagrant-dwonload-page

ダウンロード完了したら、インストーラを起動しインストールを行います。

Windowsの場合のインストール手順

インストーラを起動し以下の画面の「実行」をクリックします。
vagrant-install-1

以下の画面で「Next」をクリックします。
vagrant-install-2

「I accept the terms in the License Agreement」にチェックを入れて「Next」をクリックします。
vagrant-install-3

vagrantのインストール先を指定します。特に希望がなければデフォルトのままでいいと思います。
vagrant-install-4

「Install」をクリックしてインストールを開始します。
vagrant-install-5

インストールが始まります。
vagrant-install-7

以下の画面が表示されればインストール完了です。「Finish」をクリックします。
vagrant-install-8

vagrantのインストールが完了すると、以下のように再起動するよう促されます。もしすぐに再起動しても良いなら「Yes」を、後ほど自分のタイミングで再起動したい場合は「No」をクリックします。再起動したらインストールは完了です。
vagrant-install-9

最後に、Git bashを開いて以下のコマンドを実行し、vagrantのバージョンが表示されれば正常にインストールできています。


Macの場合のインストール手順

インストーラを起動すると以下の画面が表示されるので「Vagrant.pkg」を開きます。
vagrant-open

続いて以下の画面が表示されるので「続ける」をクリックします。
vagrant-install-step1

インストール先を選択して「続ける」をクリックします。
vagrant-install-step2

インストール先を確認されるのでよければ「インストール」をクリックしインストールを開始します。
vagrant-install-step3

インストールが完了すると以下の画面が表示されます。「閉じる」をクリックして完了です。
vagrant-install-step4

最後に以下のターミナルを開いて以下のコマンドを実行し、vagrantのバージョンが表示されれば正常にインストールできています。


vagrantを使って仮想マシンを作成

vagrantのインストールが完了したら、vagrantのコマンドを使用して仮想マシンを作成します。まず、vagrant用のフォルダをmkdirで作成し、そのフォルダにcdコマンドで移動します。ここではvagrantという名前のフォルダにしています。

今度は今から作成する仮想マシン用のフォルダを作成し、そのフォルダに移動します。ここでは、ubuntu-vagrantというフォルダ名にしておきます。

続いて以下のコマンドで仮想マシンをインストールする準備を行います。

vagrant initを実行すると、ubuntu-vagrantフォルダにVasgrantfileという名前のファイルが作成されます。このファイルに今から作成する仮想マシンの設定を記述します。例えば、どのディストリビューションの仮想マシンを作成するか、割り当てるメモリ量、ネットワークの設定などです。
Vagrantfileをテキストエディタで開くと、以下の様な内容になっていると思います。

まずはVagrantfileの冒頭にある以下の部分を変更します。config.vm.box = "base"という部分で作成する仮想マシンのboxを指定しています。

なお、vagrantにおけるboxとは、こちらのvagrant日本語ドキュメント (非公式ではありますが、公式のVagrant Docsの日本語訳を掲載しており大変参考になりました。)で以下のように説明されています。

ゼロから仮想マシンをインストールする代わりに(それは時間が掛かり、また退屈な作業です)、 Vagrantは、仮想マシンをすばやくクローンするためにベースイメージを使用します。 これらのベースイメージは、Vagrantでは box として知られています。 そして、あなたのVagrant環境で使用するためにboxを指定することは、 Vagrantfileを作成した後に常に最初に行うステップです。

よってまずvagrantではboxを指定します。使用できるboxの一覧が以下のURLに載っています。boxには純粋なLinuxディストリビューションだけでなく、あらかじめ色々なソフトウェアを使える状態にしてあるboxもあります。

ATLAS


今回は純粋なubuntu server 14.04 64bitの仮想マシンをvagrantで作成したいと思います。そのためにまず上記URLにアクセスします。以下の画面が表示されると思います。
box-list-memo

上の画面の中の赤線部分がbox名になります。このbox名(上画面の場合だとubuntu/trusty64)をVagrantfile内のconfig.vm.boxの値として記述します。例えば、 ubuntu/trusty64のboxを使用する場合は、以下のようになります。

後は以下のコマンドを実行すれば、指定したboxの仮想マシンがインストールされ、起動します。

もしvagrant upを実行して以下の様なエラーが表示された場合は、VirtualBoxやVMWareなどの仮想環境ソフトウェアがインストールされていないです。よってまずこれらをインストールする必要があります。

vagrant upが無事に実行されると、以下の様なメッセージがずらずらと表示されます。最初に上記で指定したboxをダウンロードしています。

boxの追加が完了した時点で以下のようなメッセージが表示されていると思います。

boxの追加が完了するとそのまま仮想マシンのインストールと起動がはじまります。そして最終的に以下のように色々メッセージが表示されて起動も完了します。

あとは以下のコマンドで作成した仮想マシンにsshでログインします。

無事にログインできればvagrantによる仮想マシンの作成は完了です。

仮想マシンを停止する場合は、仮想マシン上でshutdown -h nowしてもいいですし、仮想マシンからログアウトして以下のコマンドを実行してもOKです。

また、作成した仮想マシンを破棄したい場合は以下のコマンドを実行します。

Vagrantfileを修正した場合は、以下のコマンドで仮想マシンを再起動します。

なお、Vagrantfileで指定できる仮想マシンの設定についてよく使うものをこちら(よく使うVagrantfileの設定のまとめ)にまとめたので必要な方はみてみてください。

おわりに

vagrantのインストールと仮想マシンを作成するまでに必要な手順はだいぶ簡単になった気がします。お手軽に開発環境を構築する上で重宝するのでおすすめです。

このエントリーをはてなブックマークに追加

SPONSORED LINK

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL