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のみを起動することも可能