説明†通常はそれぞれのVagrantfileが作成されますが、一つのVagrantfileで複数のVMを管理することが可能です。 手順†$ 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の中身†下記の例は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 起動†$ vagrant up <--引数指定なしで全VMが対象 $ vagrant up vm1 <--引数でVM名を指定することで単一のVMのみを起動することも可能 参考URL† |