====== Vagrant ====== [[https://www.vagrantup.com/|Vagrant]] is an open-source software product for building and maintaining portable virtual software development environments, e.g. for VirtualBox, Hyper-V, Docker, VMware, and AWS. ===== Usage ===== vagrant init debian/jessie64 vagrant up # boot VM vagrant ssh [name] # connect to VM ==== box ==== add local box: vagrant box add /path/to/vagrant.box list all boxes: vagrant box list ==== plugin ==== install vagrant virtualbox guest additions: vagrant plugin install vagrant-vbguest ===== Vagrantfile ===== Define multi-node vm: Vagrant.configure("2") do |config| config.vm.box = "debian/jessie64" config.vm.box_check_update = false config.vm.define :node1 do |node1| node1.vm.hostname = "node1" node1.vm.network "private_network", ip: "192.168.33.101" node1.vm.provider "virtualbox" do |v| v.name = "node1" v.memory = "256" v.cpus = "1" end end config.vm.define :node2 do |node2| node2.vm.hostname = "node2" node2.vm.network "private_network", ip: "192.168.33.102" node2.vm.provider "virtualbox" do |v| v.name = "node2" v.memory = "256" v.cpus = "1" end end end ==== configuration ==== Port forward: config.vm.network "forwarded_port", guest: 8080, host: 8080 ===== Reference ===== * [[https://www.vagrantup.com/docs/index.html|Vagrant Documentation]] * [[https://favoorr.github.io/2017/01/06/vagrant-virtualbox-vagrantfile-config-best-practices/|vagrant 虚拟机配置最佳实践]]