ハイパー仕事し隊

ハイパー仕事し隊

週末エンジニアのノート。イロイロ試していきまっせ。

MENU

Vagrant を使って仮想環境を構築してみてわかったよ。なんて便利なんだ!

f:id:SuperBusinessMan:20170710032852p:plain

どもっ、こんにちは。twoBee5 (とぅーびー) です!

ここ最近 Linux やらネットワークについて勉強始めました!!

でも問題がありまして。。そう、環境構築がなかなか面倒くさい。

そこで Vagrant という良いもの見つけたので、紹介していきたいと思います!

スポンサーリンク

Vagrant (べぃぐらんと)とは?

Vagrant by HashiCorp
サンフランシスコを拠点とした HashiCorp 社の製品で日系と思われる橋本ミッシェルさん達が 2012 年の設立した会社のオープンソース製品になります。

何ができる?

ちょー簡単に言うと、仮想環境の構築を 効率化 してくれるツールです。 仮想環境を構築するには別のツールが必要で VirtualBox や VMWare などを利用することになります。

何が便利なの?

  • LAMP, LEMP, MEAN など色んなスタックの環境を仮想環境で試せる
  • 思ったらすぐに使いたい仮想環境を構築できる
    • 「nginx ってなんだ!つかってみたい」→ ソッコーで構築できる
  • ちょっとした確認やテストするために、壊れても良い環境が構築できる
    • 例: 本番環境で動作を確認する前に、テスト環境でテストしておきたいですよね?
  • チームで開発している場合、同じ環境を構築できる
    • 「オイラの環境では動いてたよ。お前の環境が悪いんじゃん?」ということがなくせる
  • 環境構築を自動化できる
    • Chef、puppet などの構成管理ツールと連携して環境構築を自動化できるようです。。週末エンジニアとしては、ここまではやらないですね。。今のところ。。

どのくらい簡単かというと

#Box の設定(名前とダウンロード先)
 $ vagrant box add [title] [url]

#Vagrantfile という各種設定ができるファイルを生成
 $ vagrant init [title]

#起動
 $ vagrant up

すごい簡単ですね。

実際に触って見よう

では実際に使ってみましょ。ここでは Windows 環境に 2 つのツールをダウンロード・インストールし、Box と呼ばれるテンプレートを使ってイロイロな環境を構築していきます。

VirtualBox のインストール

まずは、仮想環境を構築するツールをダウンロードします。下記サイトから VirtualBox をダウンロードしましょ。

f:id:SuperBusinessMan:20170710003445p:plain

Vagrant の インストール

次に Vagrant をダウンロード・インストールします。

インストールになかなかの時間がかかりますけど、気長に待ちましょ。。 f:id:SuperBusinessMan:20170710003055p:plain

Vagrant を使って仮想環境を構築するには Box と呼ばれるテンプレートを利用することになります。既にたくさんの Box が準備されています (もちろん自作も可能です)。

これでやっと環境は準備はできました!では早速いろんな環境をインストールしていきましょ!

Vagrant から Ubuntu 環境を構築

まず、Bento Box のサイト から Ubuntu を探しましょ。

Ubuntu-17.04 の場合は下記の様になります。コマンドラインからカレントを任意に変更し、下記コマンドを実行します。

vagrant init bento/ubuntu-17.04 \
  --box-version 2.3.7

このコマンド実行で Vagrantfile が生成されます。このファイルをもとに仮想環境を構築するので、テキストファイルに下記をコピペの手作業で作成しても問題ありません。

Vagrant.configure("2") do |config|
  config.vm.box = "bento/ubuntu-17.04"
  config.vm.box_version = "2.3.7"
end

Vagrantfile が生成できましたら、あとは起動するのみです。しかも下記 1 ラインのみ!!

vagrant up

実行後は、ダウンロードが始まり仮想環境が起動します (すげーー楽!)。Windows の場合は SSH による接続が必要になります。

vagrant ssh

Putty や Git bash などの SSH クライアントから接続する場合は、コマンド出力結果から接続情報を確認できます。

default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant

コマンドからの接続は下記の様になります。

//Git bash からの接続の場合: <username>@<host> -p <port>
ssh vagrant@127.0.0.1 -p 2222

パスワードも vagrant です。
いやー、すごいですね。ちょー簡単。。

//終了する場合
vagrant hault

//環境を削除する場合
vagrant destroy

いやー、ホントすごい。。

エラーがでた場合

f:id:SuperBusinessMan:20170710015854p:plain

だーー!全然接続できない!!

VirtualBox から接続するとこんなダイアログが!!

って人は、BIOS から設定が必要である可能性があります。PC によると思いますが、BIOS から仮想化を 有効 にする必要があります (これまで初期状態から有効だった PC なかったですけど。。)。なので、「全然起動しない!」と思ったら BIOS 設定を見直してみてください。

まとめ

これから、Linux やネットワークの勉強するには大変助かりますね。

他にも頻繁に利用しそうなコマンドは下記になります。これからどんどん色んな環境を試していきたいですね!

#コマンド一覧を表示するコマンド
vagrant list-commands

#ヘルプ
vagrant -h

#仮想マシンの起動。vagrantfileのあるディレクトリ内で実行
vagrant up

#仮想マシンの終了(シャットダウン)
vagrant halt 

#仮想マシンの一時停止
vagrant suspend

#仮想マシンの一時停止から復帰
vagrant resume

#仮想マシンの再起動
vagrant reload

#仮想マシンの削除(boxは消えない)
vagrant destroy

#仮想マシンのステータスを表示
vagrant status

#全仮想マシンの一覧
vagrant global-status 

#バージョン確認 + 最新バージョンの表示 (vagrant -vはバージョン確認のみ)
vagrant version 

では、また次回!