user icon

一つのVagrantfileで複数VMを管理する際のメモ

下記のようなVagrantfileで複数VMを管理している際に「vagrant halt」を行うと…

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.define :first do |first|
    first.vm.box = "centos6.5.3"
    first.vm.network :forwarded_port, guest: 80, host: 8080
    first.vm.network :private_network, ip: "192.168.33.10"
  end
  
  config.vm.define :second do |second|
    second.vm.box = "centos6.5.3"
    second.vm.network :forwarded_port, guest: 80, host: 8181
    second.vm.network :private_network, ip: "192.168.33.11"
  end
end

2つとも停止します。

~/w/vagrantTest ❯❯❯ vagrant halt
 second: Attempting graceful shutdown of VM...
 first: Attempting graceful shutdown of VM...

片方だけ停止したい場合には「vagrant halt first」のように引数にマシン名を指定すれば良いのですが
停止したくないマシンまで誤って停止させるのを避けたかったので、何か良い方法はないか調べました。

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

  if ARGV[1] == "first" # 追加
  config.vm.define :first do |first|
    first.vm.box = "centos6.5.3"
    first.vm.network :forwarded_port, guest: 80, host: 8080
    first.vm.network :private_network, ip: "192.168.33.10"
  end
  end # 追加
  if ARGV[1] == "second" # 追加
  config.vm.define :second do |second|
    second.vm.box = "centos6.5.3"
    second.vm.network :forwarded_port, guest: 80, host: 8181
    second.vm.network :private_network, ip: "192.168.33.11"
  end
  end # 追加
end

このようにすると「vagrant halt」だけでは停止しなくなり、マシン名を指定することで停止出来るようになります。

Facebooktwitterlinkedintumblrmail

Tags:

名前
E-mail
URL
コメント

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)