かばちんのエンジニアブログ

日々の経験の中で培った内容を備忘録も兼ねて記録していくブログです。少しでも誰かの役に立つために頑張って続けていけたらなと思います。

Vagrant を使ったVM環境構築

f:id:kabatin:20160224152319p:plain

前回 VirtualBox を利用して、Ubuntu に Docker と SSH を入れるということをしました。
どうやら Vagrant を使うともっともっと簡単に環境構築が行えるようなので実際に試してみました。
MacOSXで行っております。

Vagrantってなに?

VirtualBox のようなVM環境をとにかく簡単に一元的に扱いやすくしてくれるツールです。
具体的になにをしてくれるのか例を挙げるとこんな感じ。


SSH接続設定が初めから済みの状態でVM環境が作られる
・面倒な設定なくコマンド1つでVM環境が作成できる
(ざ〜〜〜っくりですが2つあげました)


とにかくすぐに作業に取りかかれると言う点ではものすごい良いツールだと思います。
ただ、個人的には一度は Vagrant を使わず構築してみるといいと思います。
その方が便利になった点がよりよくわかります。


Vagrant のインストール

まず Vagrantインストーラを公式サイトで手に入れましょう。
www.vagrantup.com

ダウンロードしたら早速実行してインストールします。
f:id:kabatin:20160224152844p:plain


Vagrant の初期設定

パッケージのインストールが完了したら、MacOS のターミナルを起動して以下のコマンドを叩くだけでインストールできます。

$ mkdir Vagrant
$ cd Vagrant
$ vagrant init --minimal ubuntu/trusty64

まず適当にフォルダを作成して、その中で「vagrant init」コマンドを実行します。
minimal オプションは必要最小限の Vagrantfile を作成しますという指示です。
あってもなくても大丈夫ですが、今回は特に気にせず最小構成で作成します。

コマンドが正常に終了すれば Vagrantfile と言うものが作成されていると思います。
VagrantVM を作成するときに使う設定ファイルですが、中身はこんな感じになっています。

Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/trusty64"
end

VagrantVM 作成

さて、実はもうすでに Vagrant を使う準備がすべて整いました!
以下のコマンドを叩いて実際に VM を起動してみましょう。

$ vagrant up

それなりに時間がかかりますが、しばらく待っていると起動が完了します。
正常に終了していれば VirtualBox の画面にも新しく VM が追加されています。


VagrantSSH 接続

そして Vagrant を導入する一番のメリット?と言ってもいい部分ですが、
すでに SSH 接続設定などが終わった状態の VM が起動されているため、実際につないでみたいと思います。
以下のコマンドを叩いてみましょ。

$ vagrant ssh
Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.13.0-79-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Wed Feb 24 03:17:38 UTC 2016

  System load:  0.42              Processes:           80
  Usage of /:   3.5% of 39.34GB   Users logged in:     0
  Memory usage: 25%               IP address for eth0: 10.0.2.15
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.


vagrant@vagrant-ubuntu-trusty-64:~$

つながりました!!素晴らしいですね!