Example

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

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.

$script = <<-SCRIPT
sudo docker-compose up -d
SCRIPT

Vagrant.configure("2") do |config|
  config.vm.define "database", primary: true do |database|
    database.vm.box = "dannyck/ubuntu-18-docker-compose"
    database.vm.box_version = "0.0.1"
    database.vm.network "public_network"
    database.vm.hostname = "database"
  
    database.vm.network "forwarded_port", guest: 27017, host: 27017
    database.vm.network "forwarded_port", guest: 8086, host: 8086
    database.vm.network "forwarded_port", guest: 8888, host: 8888
    database.vm.network "forwarded_port", guest: 6379, host: 6379
    database.vm.network "forwarded_port", guest: 5672, host: 5672
  
    # Enable provisioning with a shell script. Additional provisioners such as
    # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
    # documentation for more information about their specific syntax and use.
    database.vm.provision "file", source: "./docker-compose.yml", destination: "~/docker-compose.yml"
    database.vm.provision "shell", inline: $script
  end
end

Last updated

Was this helpful?