Vagrant是一个用于创建和配置虚拟开发环境的工具,它允许开发者使用Vagrantfile来描述虚拟机的配置,并通过简单的命令来管理虚拟机的生命周期

1.操作命令

vagrant box [list|add|remove] 查看添加删除box
vagrant init    初始化一个指定系统的 Vagrantfile 文件
vagrant up         启动虚拟机
vagrant halt       关闭虚拟机
vagrant reload     重启虚拟机
vagrant package    打包运行中的Box虚拟环境成一个可重复使用的box
vagrant suspend    挂起虚拟机
vagrant resume     唤醒虚拟机
vagrant status     查看虚拟机运行状态
vagrant destroy    销毁当前虚拟机
vagrant ssh     ssh到虚拟机里

ssh一般默认的规范是vagrant ssh VM_NAME,会以vagrant用户身份登录到目标虚拟机 在Vagrantfile文件层级目录中则无需指定虚拟机名称 一般情况下默认登陆账户信息: vagrant/vagrant root/vagrant

2.进阶分类命令

环境隔离

  • vagrant up 启动虚拟机。
  • vagrant halt 关闭虚拟机。
  • vagrant suspend 挂起虚拟机,节省资源。

多虚拟机管理

  • vagrant up <machine-name> 指定启动的虚拟机。
  • vagrant halt <machine-name> 指定关闭的虚拟机。

快照管理

  • vagrant snapshot save <name> 保存虚拟机的快照。
  • vagrant snapshot restore <name> 恢复到指定的快照。
  • vagrant snapshot delete <name> 删除指定的快照。

网络配置

  • vagrant ssh-config 查看虚拟机的SSH配置。
  • vagrant ssh 通过SSH连接到虚拟机。

插件使用

  • vagrant plugin install <plugin-name> 安装插件。
  • vagrant plugin list 列出已安装的插件。
  • vagrant plugin uninstall <plugin-name> 卸载插件。

包管理

  • vagrant package 创建一个Vagrant环境的压缩包。
  • vagrant box add <box-name> <box-file> 添加新的虚拟机镜像。

环境清理

  • vagrant destroy 销毁虚拟机及其所有数据。
  • vagrant destroy -f 强制销毁虚拟机。

版本控制

  • vagrant status 查看当前虚拟机的状态。

3.定义alias

mvpbang@mvpbang ubuntu-test % alias |grep vagrant
vagrant-plugin-install='vagrant plugin install --plugin-clean-sources --plugin-source https://gems.ruby-china.com/ '
vgt='vagrant '
vgtd='vagrant destroy -f'
vgtgs='vagrant global-status'
vgts='vagrant ssh'
vgtu='vagrant up'

4.设置默认virtualbox虚拟映像存储位置

打开 VirtualBox程序 -> 点击管理/全局设定菜单项(Ctrl+G) ->  将常规栏里的默认虚拟电脑位置(M)改为其他磁盘下的路径

alt text

5.设置默认vagrant配置相关位置

1.默认存储在~/.vagtant.d/
mvpbang@mvpbang test % ll ~/.vagrant.d 
total 24
drwxr-xr-x  7 mvpbang  staff   224  6 17 22:58 boxes
drwxr-xr-x  3 mvpbang  staff    96  4  2 17:28 bundler
drwxr-xr-x  8 mvpbang  staff   256  6 18 17:17 data
drwxr-xr-x  3 mvpbang  staff    96  4  2 12:12 gems
-rw-------  1 mvpbang  staff  1675  4  2 12:12 insecure_private_key
drwxr-xr-x  4 mvpbang  staff   128  4  2 12:12 insecure_private_keys
-rw-r--r--  1 mvpbang  staff   222  6 17 16:20 plugins.json
drwxr-xr-x  3 mvpbang  staff    96  4  2 12:12 rgloader
-rw-r--r--  1 mvpbang  staff     3  4  2 12:12 setup_version
drwxr-xr-x  3 mvpbang  staff    96  6 17 22:58 tmp

2.设置环境变量 VAGRANT_HOME
export VAGRANT_HOME='/opt/.vagrant.d'