Vagrant

説明

通常はそれぞれの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

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


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-06-30 (木) 01:40:11