【イラストで分かる】VagrantとVirtualBoxを使って、仮想環境を構築してみよう!

パソコンを操作する男性 IT関連

仮想環境の構築、意外と心理的な障壁が多くないですか?

ジョージ・眉間シワ男
ジョージ・眉間シワ男

サーバを借りても、
OS インストールからやるの面倒だ!

とある会社員
とある会社員

しかもサーバ料金もかかるよ。

学習に時間もかかるから、お金もそこそこ掛かるかも。

僕

じゃあ無料で、自前でやっちまえばいいじゃん!

ということで、簡単に仮想環境を作っていきましょう!

Vagrantはいいぞ!よかったぞ!

VirtualBox(バーチャルボックス)とは

VirtualBoxについて

簡単にいうと「仮想環境を構築するソフト」です。

これを使うことによって、使用しているパソコン上に別のOSを乗せることができます。

1台なのに複数のパソコンを操作……なんてことが出来ちゃうんです。

もちろん、1台のパソコンに複数のOSが乗っています。
スペックは物理的に変化しませんから、動作はめちゃくちゃ重いです。

ある程度の性能の良いパソコンを使うようにしましょう。

Vagrant(ベイグラント)とは

Vagrantについて

VirtualBoxは、GUIといってグラフィカルに操作して、仮想環境を構築することができるため(初心者向けといえば)初心者向けです。

その仮想環境構築ソフトを文字列で操作(CUIと言います)するのがVagrantです。

ジョージ・眉間シワ男
ジョージ・眉間シワ男

文字で操作?どういうこと?

簡単にいうと、以下のような感じです。

  • 仮想環境の設定をあるファイルに書いておく
  • 上で作成した設定ファイルを用いて、VirtualBoxで仮想環境を構築する

このように、文字列で実際にコマンドを叩くことで、仮想環境が構築できるものがVagrantです。

Vagrantを使う理由

上司
上司

なんでコマンドでやるの?
絶対マウス操作とかでやったほうが分かりやすいし楽だよ。

でも、ちゃんとメリットがあります。

  • コマンド1つで仮想環境の構築ができる
  • 設定ファイルさえあれば、他人と環境の共有ができる
  • Git管理ができる

趣味でやってるとか、個人で独学だから、という人はあまり関係がないかもしれませんが、
業務上、同じ環境を共有しなければならない時があったりします。

そんな時に、VirtualBoxだけだと「1つ1つの設定を手動で」やらなければならないため手順書が必須になります。

しかしVagrantを使っていれば、設定ファイルのみ共有すればあとはやってくれるんです。

また、Gitを使うことによってVagrantFileの更新履歴を保持することができます。

上司
上司

先月の環境でバグが起きた!
その環境はこのブランチだ!

僕

わかりました!
チャチャっと環境構築しちゃいますね!

それによって迅速に対処することができます。

Vagrantを使って、仮想環境を構築する

大まかな流れは以下の通りです。

  • VirtualBoxをインストール
  • Vagrantをインストール
  • Boxを追加する
  • ディレクトリを作成し、初期化する
  • 仮想環境を起動する

もう、ほんとにこれだけです。

ただ、インストールに時間がかかるので要注意!

VirtualBoxをインストール

Oracle VM VirtualBox

こちらからインストールできます。
待ちます。

Vagrantをインストール

Vagrant by HashiCorp
Vagrant enables users to create and configure lightweight, reproducible, and portable development environments.

こちらから最新版をインストールできます。
待ちます。

Boxを追加する

Boxとは、仮想環境のパッケージのようなものです。

現状としてあるのは以下の通りです。

  • 仮想環境を構築するソフト(VirtualBox)
  • 上のソフトを操作するツール(Vagrant)

これだけだと、空っぽの箱を持っているにすぎません。
中身がないと動きません。

その中身にあたるのがBoxです。

「箱」だけど「中身」にあたります。

Vagrant Cloud by HashiCorp
Vagrant Cloud by HashiCorp

上記リンクから、Boxを探すことができます。

今回はCentOSというOSをいれます。

https://app.vagrantup.com/centos/boxes/7

CentOSのBoxは上のリンクにあります。
チュートリアルではinitとしていますが、addを使いましょう。

すると、以下のように使用する仮想環境ソフトを聞かれます。
今回VirtualBoxを使用するので、3を選択。

待ちます。

こんなのが出てきたらOK!

Boxが追加されていることを確認しましょう。

先ほど入れたOSが、出力されていればOKです。
すると、下の3つが揃ったことになりますね。

  • 仮想環境を構築するソフト(VirtualBox)
  • 上のソフトを操作するツール(Vagrant)
  • 仮想環境のテンプレートとなる物(CentOSのBox)

ディレクトリを作成し、初期化する

必要なものは揃いました!

ここで1つ注意点があります。

Vagrantでは、1つの仮想環境につき1つのディレクトリが原則です。
Vagrantを実行したら、フォルダごとに1つの仮想環境が作られるということを覚えていてください。

ですので、3つの仮想環境を構築する場合は、3つのディレクトリに分けておかなければなりません。

私は今後、複数の仮想環境を構築することも踏まえて、「vagrant」というディレクトリを作成し、その配下に仮想環境ごとに分けることにしました。

…のように、複数あった場合こんな感じになります。

では、centos配下に移動しましょう。(cdコマンドを使います)

そして、実際にコマンドを実行して仮想環境を使える準備状態にします。それが初期化であるinitコマンドです。

centos/7は、Boxの追加時に使用した引数です。
ディレクトリ名ではないので注意しましょう。

こんな言葉が出てきたらOKです。ちゃんと初期化できているか確認しましょう。

Vagrantfileが作成されています!

やった!

このファイルが、設定ファイルとなります。

このVagrantfileという設定ファイルに、IPアドレスやネットワーク、フォルダ構成などの設定を記述します。

仮想環境を起動する

…と、その前に仮想環境の状態を見てみましょう。

これで、Vagrantで作った仮想環境の状態を確認できます。
今起動しているか、休止状態かなどを確認できます。

結果はこのようになりました。
作成されていませんと言っています。

初期化しただけでは、まだ仮想環境は完成していません。
起動しましょう!

これだけ。
初回の起動は時間がかかります。

もう一度状態を確認してみましょう。

果たして、仮想環境は作成されているのか。

走っている(実行している)ようです!

やった!

VirtualBoxの設定をいじるのが苦手だったので、Vagrantで今後もやっていこうと思います。

皆さんもぜひ!

Vagrantのコマンドまとめ

ボックスの追加

ボックスの一覧

ボックスの初期化(準備する)

ボックスの状態確認

Vagrantの起動

Vagrantの一時停止

Vagrantを一時停止から復帰

Vagrantを再起動

仮想OS電源OFF→Vagrantfileを再読み込み→仮想OS電源ONの流れで再起動します。

Vagrantの設定のみ反映

Vagrantfileの設定を変更した際に役立ちます。
再起動しちゃうと、仮想OSを再起動する&Vagrantfile読み込みをするため時間がかかります。

VagrantへSSH接続

次にオススメの記事

かんたんにWebサーバを構築する方法を紹介しています。

CentOSにApacheをインストールして、Webサーバを作ってみよう
CentOSにApacheをインストールして、Webサーバを作ってみました! 初歩的な用語からおさらいして進めていきます。

VagrantFile について理解を深めたい方にオススメです。

【仮想環境】Vagrantfileの内容を読み解いて、設定方法を理解してみる
Vagrantでは、Vagrantfileという設定ファイルを使って仮想環境の設定を行います。 敷居が高いようですが、翻訳してみると案外取っつきやすいものでした。
タイトルとURLをコピーしました