#打包分發環境
vagrant 常用命令
```
// 查看目前已有的box
vagrant box list
// 新增加一個box
vagrant box add
// 刪除指定box
vagrant box remove
// 初始化配置vagrantfile
vagrant init
// 啟動虛擬機
vagrant up
// 掛起虛擬機
vagrant suspend
// 重啟虛擬機
vagrant reload
// 關閉虛擬機
vagrant halt
// 查看虛擬機狀態
vagrant status
// 刪除虛擬機
vagrant destroy
```
打包box,需要先掛起
vagrant suspend
```
// 默認會生成一個package.box包
vagrant package
// 指定包的名稱為lamp.box
vagrant package --output lamp.box
```
升級box
老用戶使用Vagrantfile更新。比如更新了redis服務
```
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu"
config.vm.network "forwarded_port", guest:80, host:80
config.vm.network "forwarded_port", guest:8080, host:8080
config.vm.synced_folder "E:/demo", '/demo', :smb => true
config.vm.network "private_network", ip: "192.168.100.126"
config.vm.hostname = "test"
config.vm.provider "virtualbox" do |vb|
vb.name = "ubuntu_test"
vb.memory = "512"
vb.cpus = 1
end
config.vm.provision "shell", inline: <<-SHELL
apt-get install -y redis-server
SHELL
end
```
vagrant reload --provision 這個命令會安裝Vagrantfile中定義的服務
新用戶直接使用新打包的box文件新建虛擬機