Vagrantの動作テストをしてみる
最もシンプルな仮想マシンの起動
Vagrantで仮想マシンを起動させる場合の、最もシンプルな方法を試します。
仮想マシンのOSを選ぶ
Vagrantの仮想マシンはベースになるイメージをダウンロードして作成されます。
以下のサイトに、Vagrantで使用できるイメージ=boxが登録されています。
Discover Vagrant Boxes - Vagrant Cloud
ここでは最新版のCentOS7を利用することにします。
表示されているcentos/7がbox名となりますで、これだけ覚えておきます。
仮想マシンを起動する
実際に仮想マシンを起動する手順は至ってシンプルです。
md \path_to_dir\any_name cd \path_to_dir\any_name vagrant init centos/7 vagrant up
上記をPowerShell(またはコマンドプロンプト)で実行するだけです。
これだけで
をこなしてくれます。
”vagrant up”の際にログが表示されますが、それを読み解くといろいろな作業を肩代わりしてくれていることがわかります。
コマンドの入力待ちになったら、"vagrant status"で起動したマシンの状態を確認します。
"default running (virtualbox)"と表示されれば、無事仮想マシンが起動しています。
あくまでも動作のテストですので、この初期設定しかされていない仮想マシンは停止して削除してしまいます。
仮想マシンを停止して削除する
マシンの停止と削除は以下のコマンドを実行します。
vagrant halt vagrant destroy -f
確認として"vagrant global-status"を実行します。これは、Vagrant全体で管理している環境の状態を表示するコマンドです。
「(英文で)Vagrant環境はないよ。それか、環境を破棄してはいないけど、古いバージョンで作ったVagrantの環境を作りし直してないよ」と表示されればVagrantでの作業は完了です。
ここまでで生成された環境の設定ファイル等は残ったままになっていますので、必要がなければ、テストに使用したディレクトリもOS側から削除します。
実際には何が起きたのか
ここでは上記のテストで何が起きていたかを把握します。とにかく環境を作れればいいんだよ、という方は読み飛ばしてください。
”vagrant init”まで
Vagrantでは一つの環境を一つのディレクトリ内で管理します。*1
そのため、まずは空のディレクトリを作成して、作業ディレクトリとします。
”vagrant init [box-name]"は使用するbox名を指定して設定ファイルであるVagrantfileを生成します。
このVagrantfileは使用するbox名だけを指定した空のテンプレートであり、テキストエディタで開くといくつかの設定例が記載されています。
実際にはこのVagrantfileを編集して、環境の設定やその手順を追加していきます。
”vagrant up”
"vagrant up"は作業フォルダ内のVagrantfileに従って、仮想環境を作成して、マシンを起動します。
実際には、以下のコマンド・作業を肩代わりしてくれています。
- ”vagrant box add ”:環境のベースとなるboxをダウンロードしてVagrantに登録する
- 設定の作成:最小限の設定のみを記述したVagrantfileの生成
- 仮想マシンの作成と諸設定:boxで起動されるマシンへのネットワーク設定や、仮想OSへのsshログインの設定、仮想マシンとの共有ディレクトリ*2の設定
これらの作業のうち、初回作成時にのみ必要な作業は二回目以降の"vagrant up"では省略され、起動時間が短縮されます。
Windows10にVirtualBox+Vagrantをインストールする
Vagrantとは
Vagrantは仮想マシンをコンテナのように管理するためのツールです。
環境の構築手順や設定を様々なローカル環境でも共通化できるため、開発・テストの環境の管理で特に威力を発揮します。
テストを繰り返し行ったあとにクリーンな環境に戻したり、新しい条件を追加した別の環境を作ってテストをする、などの場合に、負担を大幅に削減できます。
ここではインストールまでと、最初の仮想マシンを作成する前に設定しておくと後々助かるデータの保存場所を設定しておきます。
Vagrantと仮想環境(provider)
Vagrant自体はあくまでも仮想マシンをコントロールするためのツールですので、仮想環境自体を実現にするには別途にソフトが必要です。
仮想環境を提供してくれるソフトをVagrantではproviderと呼び、それへの設定等もVagrantから(ある程度まで)管理できます。
VagrantのデフォルトではVirtualBoxが選択されており、機能面やコスト面でも優れているため、他のソフトを考慮する必要は基本的にはないかと思います。
当然ながら、Vagrantは代表的な仮想環境をフォローしており、設定変更で他のソフトも使用できます。
ここではデフォルトのVirtualBoxを使用します。
Windows10にVirtualBoxを導入する場合の確認
Windows10でVirtualBoxを利用する場合、あらかじめHyper-Vが無効であることを確認してください。
Hyper-VとVirtualBoxはCPUの技術で競合しており、どちらかしか使用することが出来ません。
VirtualBoxのインストールと設定
インストール
Downloads – Oracle VM VirtualBox
Windowsの場合、上記からインストーラーをDLしてインストールするだけです。
すぐに基本の設定を変更するので、インストール後に起動するにチェックをしておきます。
VirtualBoxの環境設定
初期設定では、Windowsのユーザーフォルダに仮想マシンのデータを格納してしまいます。
仮想とはいえOSのインストールを行うため、データの容量は大きくなりがちです。
仮想マシンを構築する前に、環境設定>一般から、デフォルトの仮想マシンフォルダーを起動ドライブ以外の場所へ変更しておきます。
ひとまず終了
VirtualBoxでの設定は以上です。
ひとまずVirtualBoxを終了させます。
Vagrantのインストールと設定
インストール
Download - Vagrant by HashiCorp
上記からインストーラーをダウンロードしてインストールします。
インストール(アップデート)時のフォルダ選択
フォルダ選択の後、数分間見た目上の反応がなくなります。
それでも動作はしていますので、コーヒーでも飲みながらお待ちください。
Vagrantも初期設定ではVirtualBoxの時と同様にユーザーフォルダに諸々のデータを保存してしまいますので、起動ドライブ以外の任意の場所にVagrant用のフォルダーを作成します。
Win+PauseBreak*1>システムの詳細設定>環境変数で、変数名VAGRANT_HOMEとして、作成したフォルダのパスを設定します。
再起動すると、環境変数とVagrantコマンドが有効になります。
Vagrantに適用される環境変数
このVAGRANT_HOMEのほかにも、環境変数から設定できる項目がいくつかあります。
Environmental Variables - Vagrant by HashiCorp
インストール確認
Vagrantはコマンドラインツールですのでコマンドを入力することになりますが、Windows10の場合はPowerShellを利用するのがおすすめです。
> vagrant -v
と入力してバージョンが表示されればインストールは完了です。
*1:このショートカットは知らなかった