# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.require_plugin 'vagrant-lxc' Vagrant.require_plugin 'vagrant-cachier' Vagrant.require_plugin 'vagrant-pristine' Vagrant.require_plugin 'vagrant-global-status' Vagrant.require_plugin 'vocker' Vagrant.configure("2") do |config| config.vm.box = "raring64" config.vm.synced_folder "../", "/vagrant", id: 'vagrant-root'#, nfs: true config.vm.network :private_network, ip: "192.168.123.123" config.cache.auto_detect = true config.vm.provider :lxc do |lxc| # Required to boot nested containers lxc.customize 'aa_profile', 'unconfined' end # Required to boot nested containers config.vm.provision :shell, inline: %[ if ! [ -f /etc/default/lxc ]; then cat < /etc/default/lxc LXC_AUTO="false" USE_LXC_BRIDGE="false" STR fi ] config.vm.define :vm1 do |vm1| vm1.vm.provision :docker do |docker| docker.pull_images 'busybox' docker.run 'echo ls -la --color', 'busybox' docker.run 'echo ls -la --color', image: 'busybox' # Above is the default docker.run 'date', additional_run_args: '-p 1234:562', image: 'busybox', cmd: '/bin/sh -c "while true; date; do echo hello world; sleep 1; done"' end end config.vm.define :vm2 do |vm2| # TODO: Clean up these examples vm2.vm.provision :docker do |docker| docker.version = '0.6.5' hello_daemon = 'while true; do date; date > /tmp/testing/dates.log; date +%s > /var/lib/other/seconds; echo hello world; sleep 1; done' docker.run 'date', image: 'busybox', volumes: ['/tmp/testing:/tmp/testing', '/var/lib/other'], ports: ['8080/udp', '8081:80'], cmd: "/bin/sh -c '#{hello_daemon}'" hello_daemon = 'while true; do date; echo hello world; sleep 1; done' docker.run 'date-2', image: 'busybox', link: ['date:datetime'], cmd: "/bin/sh -c '#{hello_daemon}'" end end end