Vagrant : Getting Start

Vagrant คือตัวช่วยสร้าง Virtual Machine สามารถสร้างได้บน VirtualBox, VMWare, หรือ แม้กระทั่ง AWS


  1. Create VagrantFile
$ vagrant init hashicorp/precise32

หลังจากคำสั่ง init VagrantFile จะถูกสร้างในไดเรกทอรี่ เนื้อหาประมาณนี้ ประมาณว่าจะลง hashicorp/precise32 แล้วนะ

Vagrant.configure("2") do |config| = "hashicorp/precise32"

นี้คือลง hashicorp/percise32 ยังมีตัวอื่นๆอีกมากมาย

หรือถ้าต้องการ ubuntu desktop เขาก็จัดมาให้แล้วที่ วิธีทำตามด้านล่าง


vagrant box add myprecisevm
vagrant init myprecisevm
vagrant up

x) Put Apache installation instruction ( Optional ) ( put in the same path as VagrantFile )

#!/usr/bin/env bash
apt-get update
apt-get install -y apache2
if ! [ -L /var/www ]; then
 rm -rf /var/www
 ln -fs /vagrant /var/www


Vagrant.configure("2") do |config| = "hashicorp/precise32"
 config.vm.provision :shell, path: ""

NOTE : DocumentRoot of Apache to point to our /vagrant directory

x) Port Forwarding

Vagrant.configure("2") do |config| = "hashicorp/precise32"
 config.vm.provision :shell, path: "" :forwarded_port, guest: 80, host: 4567

Run outside VM to see the result

2) Run Vagrant

$ vagrant up

3) Reload Machine

vagrant reload --provision

4) SSH to vagrant VM

$ vagrant ssh

5) Sync folder
/vagrant is shared as outside VagrantFile folder

ที่เจ๋งคือ มันเอาไฟล์พวก war ไปวางแชร์ไว้ได้

เช่น dev บนเครื่อง, สร้าง war ไปวางใน share folder, แล้วไป deploy บน VM

6) Vagrant Share : Create URL point to VM

Need account

$ vagrant login
Username or Email: dsin
Password (will be hidden):
You're now logged in!
$ vagrant share
==> default: Your Vagrant Share is running!
==> default: URL:

We can access on the URL

7) Hybernate/Shutdown/Destroy VM

>> Hybernrate

$ vagrant suspend

After we want to use, type `vagrant up`

The downside is that the virtual machine still eats up your disk space, and requires even more disk space to store all the state of the virtual machine RAM on disk.

>> Shutdown

vagrant halt

>> Destroy VM : if run `vagrant up`, vagrant need to d/l again

$ vagrant destroy

8) Vagrant on VMware, AWS

vagrant up --provider=vmware_fusion
vagrant up --provider=aws

9) More at :


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s