|
| 1 | +# Defines our Vagrant environment |
| 2 | +# |
| 3 | +# -*- mode: ruby -*- |
| 4 | +# vi: set ft=ruby : |
| 5 | + |
| 6 | +# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! |
| 7 | +VAGRANTFILE_API_VERSION = "2" |
| 8 | + |
| 9 | +my_machines={ |
| 10 | +# 'hostname' => ['IPAddress','Memory in MB','Number of CPUs'], |
| 11 | + 'node1' => ['10.1.15.10','1024','1'] |
| 12 | +} |
| 13 | + |
| 14 | +$setupScript = <<SCRIPT |
| 15 | +echo provisioning docker... |
| 16 | +sudo apt-get update |
| 17 | +sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D |
| 18 | +sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-trusty main' |
| 19 | +sudo apt-get update |
| 20 | +sudo apt-get -o Dpkg::Options::="--force-confnew" install --force-yes -y docker-engine=1.10.2-0~trusty |
| 21 | +sudo usermod -a -G docker vagrant |
| 22 | +curl -L "https://github.com/docker/compose/releases/download/1.6.2/docker-compose-$(uname -s)-$(uname -m)" > /usr/local/bin/docker-compose |
| 23 | +chmod +x /usr/local/bin/docker-compose |
| 24 | +docker version |
| 25 | +
|
| 26 | +docker-compose version |
| 27 | +SCRIPT |
| 28 | + |
| 29 | +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| |
| 30 | + config.vm.box = "bento/ubuntu-14.04" |
| 31 | + |
| 32 | + my_machines.each do |short_name, array| |
| 33 | + |
| 34 | + config.vm.define short_name do |host| |
| 35 | + host.vm.network 'private_network', ip: array[0] |
| 36 | + host.vm.hostname = "#{short_name}" |
| 37 | + host.vm.provider "virtualbox" do |vb| |
| 38 | + vb.memory = "#{array[1]}" |
| 39 | + vb.cpus = "#{array[2]}" |
| 40 | + vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] |
| 41 | + vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"] |
| 42 | + vb.customize ["modifyvm", :id, "--nictype1", "virtio"] |
| 43 | + end |
| 44 | + host.vm.provision :shell, :inline => $setupScript |
| 45 | + end |
| 46 | + end |
| 47 | +end |
0 commit comments