Basic Usage¶
Vagrant¶
vagrant up
Use this command to create and provision a new VM, or start up an existing VM.
vagrant reload
Use this command to restart the VM.
vagrant reload --provision
Use this command to restart and then provision the VM. This is useful when we update
teracy-dev
.vagrant halt
Use this command to shut down the VM.
vagrant destroy
Use this command to destroy the VM to create a brand new clean VM.
vagrant global-status
Use this command to check the state of all active Vagrant environments on the system. You should halt or destroy the running Vagrant enviromnents that are not being worked on.
For more, please check out: https://www.vagrantup.com/docs/getting-started/
IP Address¶
By default, the VM uses a public dynamic IP address, so we need to know its IP address to access.
When provisioning, we could see it on the console output like:
==> default: Running provisioner: shell...
default: Running: inline script
==> default: mesg:
==> default: ttyname failed
==> default: :
==> default: Inappropriate ioctl for device
==> default: ip address: 192.168.0.116
When we want to display the IP address of the VM anytime, follow the commands below:
$ cd ~/teracy-dev
$ vagrant up
Or:
$ cd ~/teracy-dev
$ vagrant provision --provision-with ip
And it should display the IP address output of the VM.
File Sync¶
We use rsync
for syncing files between the host machine and the VM (the guest machine) under
the ~/teracy-dev/workspace directory by default. So put your project files there, it will be
synced back and forth with with /home/vagrant/workspace directory on the VM guest machine.
This is default setting and you can configure the sync directories and mechanism whatever you want.
For easier and high-performance sync, we use additional vagrant plugins:
Sync from the host machine to the guest VM
By default, we run
$ vagrant gatling-rsync-auto
automatically when$ vagrant up
to watch and sync files from the host machine to the guest VM automatically.We could stop and enable it anytime by running:
$ vagrant gatling-rsync-auto
.Sync from the guest VM to the host machine
This is used only when you want the file changes on the VM to be synced back to the host machine, use this command:
$ vagrant rsync-back