Vagrant Cheatsheet - VM Management
开发环境管理必备的 Vagrant 命令都在这里了,从虚拟机启动到配置定义,按场景分类整理,快速搭建开发环境。
Back to SysOps虚拟机生命周期 9
vagrant init ubuntu/jammy64初始化 Vagrant 项目
vagrant up启动虚拟机
vagrant sshSSH 登录虚拟机
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,方便团队共享。