ページ ツリー

比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

...

操作コマンド
VM の起動
$ vagrant up
VM の中断
$ vagrant suspend
VM のシャットダウン
$ vagrant halt
VM の再起動
$ vagrant reload
VM の破棄
$ vagrant destroy
VM の状態確認
$ vagrant status
VM への SSH 接続
$ vagrant ssh
VM の SSH 接続情報を確認
$ vagrant ssh-config

 

Vagrantfile を書く

Box から Vagrantfile を生成する

まずは利用したい Box に名前を付けて、ローカルマシンに登録します。 

コード ブロック
$ vagrant box add <Box名> <.boxファイルのパス>

 

ローカルマシンに登録されている Box は次のコマンドで確認できます。

コード ブロック
$ vagrant box list

 

登録した Box を利用するには、Vagrantfile を作成する必要があります。
Vagrantfile のひな形は次のコマンドで生成できます。

コード ブロック
$ vagrant init <Box名>

 

この状態で既に Box をベースにした VM を利用可能です。

コード ブロック
$ vagrant up

 

Vagrantfile

「vagrant init」で生成した Vagrantfile は次のようになっていると思います。

コード ブロック
VAGRANTFILE_API_VERSION = '2'
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  
end

Vagrantfile は Ruby のソースコードで表現されていて、Vagrant の設定は 「config」 オブジェクトを経由して、Ruby の構文で自由に操作できます。

※ 「config」という変数名は変更可能ですが、「config」という名前であることを前提にすすめます。

 

Vagrant の基本的な設定

「vagrant up」で利用する Box は、次のように設定できます。

設定項目概要
config.vm.box利用する Box の名前(vagrant box list で確認できる Box 名)を指定します。
config.vm.box_url

.box ファイルのパスを指定します。
「config.vm.box」がローカルマシン上に登録されていない場合に、このパスをもとに Box が登録されます。

 

プロバイダ(VirtualBox)の設定

VirtualBox の設定は次のように「vbox」オブジェクトを経由して記述します。

コード ブロック
config.vm.provider :virtualbox do |vbox|
  
end
設定項目概要
vbox.nameVirtualBox の VM 名を指定します。
vbox.gui

true: VirtualBox の GUI コンソールを表示します。
false: headless モードで起動します。(GUI コンソールなし)

vbox.customize

VBoxManage コマンドを呼び出して VM の詳細な設定を変更します。
例えば、メモリサイズを変更する場合は次のように記述できます。

コード ブロック
vbox.customize ["modifyvm", :id, "--memory", '2048']

※ VBoxManage コマンドの詳細は VirtualBox のドキュメント [ https://www.virtualbox.org/manual/ch08.html ] を参照してください。