Vagrant は VirtualBox などの仮想マシンを制御してくれるソフトです。
ソフトウェアの開発の時に利用すると、いろいろ便利そうです。
以下、Vagrant の使い方のメモです。
導入手順・使い方
VirtualBox をインストール
Vagrant をインストール
BOX を Vagrant に登録
仮想マシンのイメージファイルのことを Vagrant では BOX と呼びます。
WEB 上で公開されているものや、あらかじめ自分で作っておいたものを利用できます。
BOX を Vagrant に登録することで、そのイメージファイルを元にした仮想マシンを簡単に作成・破棄できるようになり、使い回しが容易になります。A list of base boxes for Vagrant - Vagrantbox.es
> vagrant box add [ボックス識別子] [BOXファイルのURLまたはPATH]
※自分にわかりやすいように [ボックス識別子] を定義します。
※box add を実行すると、デフォルトではホームフォルダ (HOME) に box ファイルが保存されます。そのパスに全角文字が含まれていると、以下のステップで仮想マシンの起動に失敗します。この場合、box 保存先を示す環境変数 (VAGRANT_HOME) を指定してから box add を実行すれば良いです。
仮想マシンを作成
> cd [仮想マシン用のフォルダ] > vagrant init [ボックス識別子]
→ Vagrantfile という名前の設定ファイルが作成される。
起動
> vagrant up
→ 初回起動時、VirtualBox 上に仮想マシンが作られる。
SSH 接続
以下のコマンドで仮想マシンに SSH 接続できます。
> vagrant ssh
ホストOSが Windows の場合には、上記のコマンドで表示される接続情報を参考に PuTTY などで接続すれば良いです。必要であれば、PuTTYgen で秘密鍵を PuTTY 形式に変換します。
共有フォルダー
ホストOS上の [仮想マシン用のフォルダ] と仮想マシン上の /vagrant ディレクトリはリンクしています。
Vagrantfile に次のように記述すると、共有フォルダのディレクトリやファイルのパーミッションなどを設定できます。
config.vm.synced_folder ".", "/vagrant", mount_options: ['dmode=775','fmode=775']
BOX の作成
自分で BOX を作成するには、[仮想マシン用のフォルダ] で以下のコマンドを実行します。
> vagrant package
コマンド
コマンド | 説明 |
---|---|
init destroy |
仮想マシンの作成と破棄 |
up halt |
仮想マシンの起動と停止 |
suspend resume |
仮想マシンの一時停止と再開 |
status | 仮想マシンの実行状態を確認 |
reload | 仮想マシンの再起動 |
プラグイン
sahara
仮想マシンを SandBox として実行できるようにし、仮想マシンに対する変更の Commit と Rollback を可能にする。
インストール
> vagrant plugin install sahara
sandbox の on, off
> vagrant sandbox [on | off]
変更の破棄
> vagrant sandbox rollback
変更の確定
> vagrant sandbox commit