#打包分发环境
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文件新建虚拟机