仮想環境の構築、意外と心理的な障壁が多くないですか?
サーバを借りても、
OS インストールからやるの面倒だ!
しかもサーバ料金もかかるよ。
学習に時間もかかるから、お金もそこそこ掛かるかも。
じゃあ無料で、自前でやっちまえばいいじゃん!
ということで、簡単に仮想環境を作っていきましょう!
Vagrantはいいぞ!よかったぞ!
VirtualBox(バーチャルボックス)とは
簡単にいうと「仮想環境を構築するソフト」です。
これを使うことによって、使用しているパソコン上に別のOSを乗せることができます。
1台なのに複数のパソコンを操作……なんてことが出来ちゃうんです。
もちろん、1台のパソコンに複数のOSが乗っています。
スペックは物理的に変化しませんから、動作はめちゃくちゃ重いです。
ある程度の性能の良いパソコンを使うようにしましょう。
Vagrant(ベイグラント)とは
VirtualBoxは、GUIといってグラフィカルに操作して、仮想環境を構築することができるため(初心者向けといえば)初心者向けです。
その仮想環境構築ソフトを文字列で操作(CUIと言います)するのがVagrantです。
文字で操作?どういうこと?
簡単にいうと、以下のような感じです。
- 仮想環境の設定をあるファイルに書いておく
- 上で作成した設定ファイルを用いて、VirtualBoxで仮想環境を構築する
このように、文字列で実際にコマンドを叩くことで、仮想環境が構築できるものがVagrantです。
Vagrantを使う理由
なんでコマンドでやるの?
絶対マウス操作とかでやったほうが分かりやすいし楽だよ。
でも、ちゃんとメリットがあります。
- コマンド1つで仮想環境の構築ができる
- 設定ファイルさえあれば、他人と環境の共有ができる
- Git管理ができる
趣味でやってるとか、個人で独学だから、という人はあまり関係がないかもしれませんが、
業務上、同じ環境を共有しなければならない時があったりします。
そんな時に、VirtualBoxだけだと「1つ1つの設定を手動で」やらなければならないため手順書が必須になります。
しかしVagrantを使っていれば、設定ファイルのみ共有すればあとはやってくれるんです。
また、Gitを使うことによってVagrantFileの更新履歴を保持することができます。
先月の環境でバグが起きた!
その環境はこのブランチだ!
わかりました!
チャチャっと環境構築しちゃいますね!
それによって迅速に対処することができます。
Vagrantを使って、仮想環境を構築する
大まかな流れは以下の通りです。
- VirtualBoxをインストール
- Vagrantをインストール
- Boxを追加する
- ディレクトリを作成し、初期化する
- 仮想環境を起動する
もう、ほんとにこれだけです。
ただ、インストールに時間がかかるので要注意!
VirtualBoxをインストール
こちらからインストールできます。
待ちます。
Vagrantをインストール
こちらから最新版をインストールできます。
待ちます。
Boxを追加する
Boxとは、仮想環境のパッケージのようなものです。
現状としてあるのは以下の通りです。
- 仮想環境を構築するソフト(VirtualBox)
- 上のソフトを操作するツール(Vagrant)
これだけだと、空っぽの箱を持っているにすぎません。
中身がないと動きません。
その中身にあたるのがBoxです。
「箱」だけど「中身」にあたります。
上記リンクから、Boxを探すことができます。
今回はCentOSというOSをいれます。
CentOSのBoxは上のリンクにあります。
チュートリアルではinitとしていますが、addを使いましょう。
1 |
vagrant box add centos/7 |
すると、以下のように使用する仮想環境ソフトを聞かれます。
今回VirtualBoxを使用するので、3を選択。
1 2 3 4 5 |
1) hyperv 2) libvirt 3) virtualbox 4) vmware_desktop Enter your choice: 3 |
待ちます。
1 |
==> box: Successfully added box 'centos/7' (v1905.1) for 'virtualbox'! |
こんなのが出てきたらOK!
Boxが追加されていることを確認しましょう。
1 |
vagrant box list |
先ほど入れたOSが、出力されていればOKです。
すると、下の3つが揃ったことになりますね。
- 仮想環境を構築するソフト(VirtualBox)
- 上のソフトを操作するツール(Vagrant)
- 仮想環境のテンプレートとなる物(CentOSのBox)
ディレクトリを作成し、初期化する
必要なものは揃いました!
ここで1つ注意点があります。
Vagrantでは、1つの仮想環境につき1つのディレクトリが原則です。
Vagrantを実行したら、フォルダごとに1つの仮想環境が作られるということを覚えていてください。
ですので、3つの仮想環境を構築する場合は、3つのディレクトリに分けておかなければなりません。
私は今後、複数の仮想環境を構築することも踏まえて、「vagrant」というディレクトリを作成し、その配下に仮想環境ごとに分けることにしました。
1 2 3 |
/vagrant/centos /testOs1 /testOs2... |
…のように、複数あった場合こんな感じになります。
では、centos配下に移動しましょう。(cdコマンドを使います)
そして、実際にコマンドを実行して仮想環境を使える準備状態にします。それが初期化であるinitコマンドです。
1 |
vagrant init centos/7 |
centos/7は、Boxの追加時に使用した引数です。
ディレクトリ名ではないので注意しましょう。
1 2 3 4 |
A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant. |
こんな言葉が出てきたらOKです。ちゃんと初期化できているか確認しましょう。
1 |
ls -la |
1 2 3 |
drwxr-xr-x 3 user staff 96 4 12 22:12 ./ drwxr-xr-x 3 user staff 96 4 12 22:10 ../ -rw-r--r-- 1 user staff 3015 4 12 22:12 Vagrantfile |
Vagrantfileが作成されています!
やった!
このファイルが、設定ファイルとなります。
このVagrantfileという設定ファイルに、IPアドレスやネットワーク、フォルダ構成などの設定を記述します。
仮想環境を起動する
…と、その前に仮想環境の状態を見てみましょう。
1 |
vagrant status |
これで、Vagrantで作った仮想環境の状態を確認できます。
今起動しているか、休止状態かなどを確認できます。
1 |
default not created (virtualbox) |
結果はこのようになりました。
作成されていませんと言っています。
初期化しただけでは、まだ仮想環境は完成していません。
起動しましょう!
1 |
vagrant up |
これだけ。
初回の起動は時間がかかります。
もう一度状態を確認してみましょう。
1 |
vagrant status |
果たして、仮想環境は作成されているのか。
1 |
default running (virtualbox) |
走っている(実行している)ようです!
やった!
VirtualBoxの設定をいじるのが苦手だったので、Vagrantで今後もやっていこうと思います。
皆さんもぜひ!
Vagrantのコマンドまとめ
ボックスの追加
1 |
vagrant box add [OSの名前] |
ボックスの一覧
1 |
vagrant box list |
ボックスの初期化(準備する)
1 |
vagrant init [OSの名前] |
ボックスの状態確認
1 |
vagrant status |
Vagrantの起動
1 |
vagrant up |
Vagrantの一時停止
1 |
vagrant suspend |
Vagrantを一時停止から復帰
1 |
vagrant resume |
Vagrantを再起動
1 |
vagrant reload |
仮想OS電源OFF→Vagrantfileを再読み込み→仮想OS電源ONの流れで再起動します。
Vagrantの設定のみ反映
1 |
vagrant provision |
Vagrantfileの設定を変更した際に役立ちます。
再起動しちゃうと、仮想OSを再起動する&Vagrantfile読み込みをするため時間がかかります。
VagrantへSSH接続
1 |
vagrant ssh |
次にオススメの記事
かんたんにWebサーバを構築する方法を紹介しています。
VagrantFile について理解を深めたい方にオススメです。
Vagrant入門ガイド
Vagrantをはじめて使う人を対象に、インストールから仮想マシンの構築,起動といった基本的な操作を丁寧に解説しています!そして複数の仮想環境構築など実践的な使い方も解説しています。