Vagrant Unify Env
- 1 min- install Vagrant & VirtualBox
- Vagrantfile
- boot & rebuild
- reload & provision
- teardown
- login in & out
- synced folders & type
- install apache
- vagrant providers
- Perfect Vagrantfile
- Done
最近由于某种原因,需要在本地部署几个相同的开发环境;首先就想到了Vagrant,去官网一看,已经更新到1.9.8了,功能更加丰富,易用性更强,新增了Mirror查询服务,不用预先下载Box,添加Box更加简单。下面记录在OS X上部署统一开发环境时的一些关键步骤和遇到的问题,备忘。。。
先预告一下,宿主机和客机共享文件夹是一个大坑;使用VirtualBox作为Provider时,默认的共享文件机制有Bug,会出现无法同步的问题。。。
install Vagrant & VirtualBox
vagrant init
vagrant box list
vagrant box add centos/7
Vagrantfile
config.vm.box
config.vm.box_version
config.vm.box_url
config.vm.network
config.vm.synced_folder
boot & rebuild
vagrant up
vagrant status
reload & provision
vagrant reload
vagrant reload --provision
teardown
vagrant suspend
vagrant halt
vagrant destroy
login in & out
vagrant ssh
ctrl + D
synced folders & type
ls /vagrant
RSync
从宿主机到客机,单向同步
vagrant rsync
vagrant rsync-auto
NFS
通过宿主机和客机的NFS服务器守护程序同步,双向同步
SMB
适用于Windows服务器,双向同步
VirtualBox
使用VirtualBox作为Provider时,默认使用VirtualBox共享文件夹,双向同步,但是有bug,WTF
install apache
sudo yum install httpd
sudo service httpd start
rpm -qa | grep httpd
rpm -e xxx
可以通过宿主机浏览器验证 apache httpd 服务器是否正常启动;如 127.0.0.1:2333。
vagrant providers
vagrant up --provider=vmware_fusion
vagrant up --provider=aws
Perfect Vagrantfile
config.vm.box = "centos/7"
config.vm.box_version = "1707.01"
config.vm.box_url = "https://vagrantcloud.com/centos/boxes/7/versions/1707.01/providers/virtualbox.box"
config.vm.network "private_network", ip: "192.168.60.6"
config.vm.network :forwarded_port, guest: 80, host:2333
config.vm.synced_folder "shared", "/vagrant", type: "nfs"
Done
THAT IS ALL …