Vagrant

説明 [#y4e329f1]

通常はそれぞれのVagrantfileが作成されますが、一つのVagrantfileで複数のVMを管理することが可能です。

手順 [#q3546723]

 $ mkdir   
/vagrant-common
 $ cd   
/vargant-common
 $ vagrant init
 $ vim Vagrantfile
 ※事前に下記コマンドでadd boxするか、boxを用意して下記Vagrantfileの”config.vm.box_url”で指定することも可能です。
 $ vagrant box add centos6 base.box

Vagarntfileの中身 [#xac606f4]

下記の例はboxファイルをpackerで作成し、単一のboxファイルで3台分管理する場合の設定です。

 $ vim Vagrantfile
 # -*- mode: ruby -*-
 # vi: set ft=ruby :
 
 Vagrant.configure(2) do |config|
 config.vm.box = "inamuu-vagrant"
 config.vm.box_url = "  
/vagrant/packer/centos/box/virtualbox/centos67-nocm-0.1.0.box"
 
 ### 1台目
 config.vm.define "vm1" do | inamuu |
   inamuu.vm.network "private_network", ip: "192.168.33.11"
   #inamuu.vm.synced_folder "../data", "/vagrant_data"
   inamuu.vm.provider "virtualbox" do |vb|
     vb.memory = "1024"
     vb.name = "vm1"
   end
 end
 
 ### 2台目
 config.vm.define "vm2" do | inamuu |
   inamuu.vm.network "private_network", ip: "192.168.33.12"
   #inamuu.vm.synced_folder "../data", "/vagrant_data"
   inamuu.vm.provider "virtualbox" do |vb|
     vb.memory = "1024"
     vb.name = "vm2"
   end
 end
 
 ### 3台目
 config.vm.define "vm3" do | inamuu |
   inamuu.vm.network "private_network", ip: "192.168.33.13"
   #inamuu.vm.synced_folder "../data", "/vagrant_data"
   inamuu.vm.provider "virtualbox" do |vb|
     vb.memory = "1024"
     vb.name = "vm3"
   end
 end
 end

起動 [#le1e290e]

 $ vagrant up <--引数指定なしで全VMが対象
 $ vagrant up vm1 <--引数でVM名を指定することで単一のVMのみを起動することも可能

参考URL [#fadd9a5b]

http://qiita.com/zum/items/03da94291ffbc9af2244