Vagrant Cheatsheet - VM Management

开发环境管理必备的 Vagrant 命令都在这里了,从虚拟机启动到配置定义,按场景分类整理,快速搭建开发环境。

SysOps·40 commands·Last updated 2026-07-21
Back to SysOps

虚拟机生命周期 9

vagrant init ubuntu/jammy64
初始化 Vagrant 项目
vagrant up
启动虚拟机
vagrant ssh
SSH 登录虚拟机
vagrant halt
关闭虚拟机
vagrant destroy
销毁虚拟机
vagrant suspend / vagrant resume
挂起 / 恢复虚拟机
vagrant reload
重启并重新加载配置
vagrant status
查看虚拟机状态
vagrant global-status
查看本机所有 Vagrant 环境

Box 镜像管理 6

vagrant box add ubuntu/jammy64
下载 Box 镜像
vagrant box list
列出已安装的 Box
vagrant box outdated
检查 Box 是否有更新
vagrant box update --box ubuntu/jammy64
更新指定 Box
vagrant box remove ubuntu/jammy64
删除 Box 镜像
vagrant box add my-box ./package.box
从本地文件添加 Box

Vagrantfile 配置 6

config.vm.box = "ubuntu/jammy64"
指定基础镜像
config.vm.hostname = "dev-server"
设置主机名
config.vm.provider "virtualbox" do |vb|\n vb.memory = "2048"\n vb.cpus = 2\nend
配置虚拟机资源
config.vm.synced_folder "./src", "/var/www"
同步文件夹
config.vm.provision "shell", path: "setup.sh"
Shell 脚本 Provision
config.vm.provision "shell", inline: "apt-get update"
内联 Shell Provision

网络与同步目录 6

config.vm.network "forwarded_port", guest: 80, host: 8080
端口转发
config.vm.network "private_network", ip: "192.168.33.10"
私有网络(固定 IP)
config.vm.network "public_network"
公共网络(桥接)
config.vm.synced_folder "./src", "/var/www", type: "nfs"
NFS 类型同步(性能更好)
config.vm.synced_folder "./data", "/data", disabled: true
禁用指定同步目录
vagrant port
查看端口转发映射

多机器与 Provision 6

config.vm.define "web" do |web|\n web.vm.box = "ubuntu/jammy64"\nend
定义 web 机器
config.vm.define "db" do |db|\n db.vm.box = "ubuntu/jammy64"\nend
定义 db 机器
vagrant up web
启动指定机器
vagrant ssh web
登录指定机器
vagrant provision
重新运行 Provision 脚本
vagrant provision --provision-with shell
只运行指定类型的 Provision

快照与插件 7

vagrant snapshot save my-snapshot
保存快照
vagrant snapshot restore my-snapshot
恢复快照
vagrant snapshot list
列出所有快照
vagrant snapshot delete my-snapshot
删除快照
vagrant plugin install vagrant-vbguest
安装插件(自动更新 Guest Additions)
vagrant plugin list
列出已安装插件
vagrant package --output my-box.box
打包当前虚拟机为 Box

💡 Tips

  • vagrant up 首次运行会自动下载 Box 镜像,后续启动很快。
  • Vagrantfile 是 Ruby 语法,但只需要基础配置即可使用。
  • vagrant plugin install vagrant-vbguest 可以自动更新 VirtualBox Guest Additions。
  • vagrant snapshot save/restore 可以快速保存和恢复虚拟机状态。
  • NFS 同步目录比默认的 VirtualBox 共享文件夹性能更好,适合大项目。
  • vagrant package 可以将配置好的虚拟机打包成 Box,方便团队共享。