talesleaves-dev

諸々の開発のメモ。画像は面倒

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(またはコマンドプロンプト)で実行するだけです。
これだけで

  1. 任意のフォルダを作成して、作業場所にする
  2. CentOS7の仮想マシンVagrantでの最小限の設定を作成する
  3. 仮想マシンを作成して起動、最小限のデフォルト設定を行う

をこなしてくれます。
vagrant up”の際にログが表示されますが、それを読み解くといろいろな作業を肩代わりしてくれていることがわかります。

コマンドの入力待ちになったら、"vagrant status"で起動したマシンの状態を確認します。
"default running (virtualbox)"と表示されれば、無事仮想マシンが起動しています。
あくまでも動作のテストですので、この初期設定しかされていない仮想マシンは停止して削除してしまいます。

仮想マシンを停止して削除する

マシンの停止と削除は以下のコマンドを実行します。

vagrant halt
vagrant destroy -f

確認として"vagrant global-status"を実行します。これは、Vagrant全体で管理している環境の状態を表示するコマンドです。
「(英文で)Vagrant環境はないよ。それか、環境を破棄してはいないけど、古いバージョンで作ったVagrantの環境を作りし直してないよ」と表示されればVagrantでの作業は完了です。
ここまでで生成された環境の設定ファイル等は残ったままになっていますので、必要がなければ、テストに使用したディレクトリもOS側から削除します。


ここまでの作業で、Vagrantにダウンロードされた環境のboxは残っています。
削除したい場合は、"vagrant box remove centos/7"を実行します。

実際には何が起きたのか

ここでは上記のテストで何が起きていたかを把握します。とにかく環境を作れればいいんだよ、という方は読み飛ばしてください。

vagrant init”まで

Vagrantでは一つの環境を一つのディレクトリ内で管理します。*1
そのため、まずは空のディレクトリを作成して、作業ディレクトリとします。
vagrant init [box-name]"は使用するbox名を指定して設定ファイルであるVagrantfileを生成します。
このVagrantfileは使用するbox名だけを指定した空のテンプレートであり、テキストエディタで開くといくつかの設定例が記載されています。
実際にはこのVagrantfileを編集して、環境の設定やその手順を追加していきます。

vagrant up”

"vagrant up"は作業フォルダ内のVagrantfileに従って、仮想環境を作成して、マシンを起動します。
実際には、以下のコマンド・作業を肩代わりしてくれています。

  1. vagrant box add ”:環境のベースとなるboxをダウンロードしてVagrantに登録する
  2. 設定の作成:最小限の設定のみを記述したVagrantfileの生成
  3. 仮想マシンの作成と諸設定:boxで起動されるマシンへのネットワーク設定や、仮想OSへのsshログインの設定、仮想マシンとの共有ディレクト*2の設定

これらの作業のうち、初回作成時にのみ必要な作業は二回目以降の"vagrant up"では省略され、起動時間が短縮されます。

vagrant destroy -f”まで

vagrant halt”は現在作業しているディレクトリの仮想マシンをシャットダウンします。
"vagrant destroy"は現在作業しているディレクトリの仮想マシンを破棄します。オプションは確認を省略するオプションです。providerにアクセスして実際にマシンを削除してくれます。
以上、ここまでが、この記事内で行った作業となります。

*1:このディレクトリがプロジェクトに対応するという考え方のようです

*2:よく見たら"folder"と表記されてる

Windows10にVirtualBox+Vagrantをインストールする

Vagrantとは

Vagrant仮想マシンをコンテナのように管理するためのツールです。
環境の構築手順や設定を様々なローカル環境でも共通化できるため、開発・テストの環境の管理で特に威力を発揮します。
テストを繰り返し行ったあとにクリーンな環境に戻したり、新しい条件を追加した別の環境を作ってテストをする、などの場合に、負担を大幅に削減できます。
ここではインストールまでと、最初の仮想マシンを作成する前に設定しておくと後々助かるデータの保存場所を設定しておきます。

Vagrantと仮想環境(provider)

Vagrant自体はあくまでも仮想マシンをコントロールするためのツールですので、仮想環境自体を実現にするには別途にソフトが必要です。
仮想環境を提供してくれるソフトをVagrantではproviderと呼び、それへの設定等もVagrantから(ある程度まで)管理できます。
VagrantのデフォルトではVirtualBoxが選択されており、機能面やコスト面でも優れているため、他のソフトを考慮する必要は基本的にはないかと思います。
当然ながら、Vagrantは代表的な仮想環境をフォローしており、設定変更で他のソフトも使用できます。
ここではデフォルトのVirtualBoxを使用します。

Windows10にVirtualBoxを導入する場合の確認

Windows10でVirtualBoxを利用する場合、あらかじめHyper-Vが無効であることを確認してください。
Hyper-VVirtualBoxはCPUの技術で競合しており、どちらかしか使用することが出来ません。

VirtualBoxのインストールと設定

インストール

Downloads – Oracle VM VirtualBox
Windowsの場合、上記からインストーラーをDLしてインストールするだけです。
すぐに基本の設定を変更するので、インストール後に起動するにチェックをしておきます。

VirtualBoxの環境設定

初期設定では、Windowsのユーザーフォルダに仮想マシンのデータを格納してしまいます。
仮想とはいえOSのインストールを行うため、データの容量は大きくなりがちです。
仮想マシンを構築する前に、環境設定>一般から、デフォルトの仮想マシンフォルダーを起動ドライブ以外の場所へ変更しておきます。

ひとまず終了

VirtualBoxでの設定は以上です。
ひとまずVirtualBoxを終了させます。

Vagrantのインストールと設定

インストール

Download - Vagrant by HashiCorp
上記からインストーラーをダウンロードしてインストールします。


インストール(アップデート)時のフォルダ選択
フォルダ選択の後、数分間見た目上の反応がなくなります。
それでも動作はしていますので、コーヒーでも飲みながらお待ちください。
少々のコーヒータイムのあと、すぐに再起動するかを尋ねられますが、NOを選択して再起動を保留して、Vagrantが使用するデータを保存する場所を変更しておきましょう。
Vagrantも初期設定ではVirtualBoxの時と同様にユーザーフォルダに諸々のデータを保存してしまいますので、起動ドライブ以外の任意の場所にVagrant用のフォルダーを作成します。
Win+PauseBreak*1>システムの詳細設定>環境変数で、変数名VAGRANT_HOMEとして、作成したフォルダのパスを設定します。
再起動すると、環境変数Vagrantコマンドが有効になります。

Vagrantに適用される環境変数
このVAGRANT_HOMEのほかにも、環境変数から設定できる項目がいくつかあります。
Environmental Variables - Vagrant by HashiCorp

インストール確認

Vagrantコマンドラインツールですのでコマンドを入力することになりますが、Windows10の場合はPowerShellを利用するのがおすすめです。

> vagrant -v

と入力してバージョンが表示されればインストールは完了です。

*1:このショートカットは知らなかった