OSDN Git Service

Modified: Upload, Command execution
[eos/zephyr.git] / docker / Vagrantfile
1 # -*- mode: ruby -*-
2 # vi: set ft=ruby :
3 ROOT = File.dirname(File.absolute_path(__FILE__))
4
5 # Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
6 VAGRANTFILE_API_VERSION = '2'
7
8 # Default env properties which can be overridden
9 # Example overrides:
10 #   echo "ENV['PASSENGER_DOCKER_PATH'] ||= '../../phusion/passenger-docker'   " >> ~/.vagrant.d/Vagrantfile
11 #   echo "ENV['BASE_BOX_URL']          ||= 'd\:/dev/vm/vagrant/boxes/phusion/'" >> ~/.vagrant.d/Vagrantfile
12 BASE_BOX_URL          = ENV['BASE_BOX_URL']    || 'https://oss-binaries.phusionpassenger.com/vagrant/boxes/latest/'
13 VAGRANT_BOX_URL       = ENV['VAGRANT_BOX_URL'] || BASE_BOX_URL + 'ubuntu-14.04-amd64-vbox.box'
14 VMWARE_BOX_URL        = ENV['VMWARE_BOX_URL']  || BASE_BOX_URL + 'ubuntu-14.04-amd64-vmwarefusion.box'
15 BASEIMAGE_PATH        = ENV['BASEIMAGE_PATH' ] || '.'
16 PASSENGER_DOCKER_PATH = ENV['PASSENGER_PATH' ] || '../passenger-docker'
17 DOCKERIZER_PATH       = ENV['DOCKERIZER_PATH'] || '../dockerizer'
18
19 $script = <<SCRIPT
20 wget -q -O - https://get.docker.io/gpg | apt-key add -
21 echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list
22 apt-get update -qq
23 apt-get install -q -y --force-yes lxc-docker
24 usermod -a -G docker vagrant
25 docker version
26 su - vagrant -c 'echo alias d=docker >> ~/.bash_aliases'
27 SCRIPT
28
29 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
30   config.vm.box = 'phusion-open-ubuntu-14.04-amd64'
31   config.vm.box_url = VAGRANT_BOX_URL
32   config.ssh.forward_agent = true
33   passenger_docker_path = File.absolute_path(PASSENGER_DOCKER_PATH, ROOT)
34   if File.directory?(passenger_docker_path)
35     config.vm.synced_folder passenger_docker_path, '/vagrant/passenger-docker'
36   end
37   baseimage_path = File.absolute_path(BASEIMAGE_PATH, ROOT)
38   if File.directory?(baseimage_path)
39     config.vm.synced_folder baseimage_path, "/vagrant/baseimage-docker"
40   end
41   dockerizer_path = File.absolute_path(DOCKERIZER_PATH, ROOT)
42   if File.directory?(dockerizer_path)
43     config.vm.synced_folder dockerizer_path, '/vagrant/dockerizer'
44   end
45
46   config.vm.provider :vmware_fusion do |f, override|
47     override.vm.box_url = VMWARE_BOX_URL
48     f.vmx['displayName'] = 'baseimage-docker'
49   end
50
51   if Dir.glob("#{File.dirname(__FILE__)}/.vagrant/machines/default/*/id").empty?
52     config.vm.provision :shell, :inline => $script
53   end
54   
55   config.vm.network :private_network, ip: "192.168.33.10" 
56   config.vm.network :forwarded_port, host: 80, guest: 8888
57 end