Jaybanuan's Blog

どうせまた調べるハメになることをメモしていくブログ

Vagrantを利用して同じ環境のVMを複数作成

以下のようにループを利用して必要な台数分の定義を生成するVagrantfileを準備すればよい。

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

Vagrant.configure(2) do |config|
  MAX_VM_COUNT = 3
  
  (0 ... MAX_VM_COUNT).each do |counter|
    config.vm.define "node#{counter}" do |server|
      server.vm.box = "willyhu/ubuntu-16.04-server-amd64"
      server.vm.network "private_network", ip: "192.168.10.#{counter+100}", netmask: "255.255.255.0"
    end
  end
end

ここでは、node0 〜 node2の3台のVMを作成し、それぞれにIPアドレス192.168.10.100 〜 192.168.10.102を割り当てている。