【イラストで分かる】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をインストール

Install | Vagrant | HashiCorp Developer
Explore Vagrant product documentation, tutorials, and examples.

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

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をコピーしました