Zumpyx's Blog

Vagrant 笔记

labvagrant

Vagrant 是一个用于创建和配置可重复的虚拟开发环境的工具。它旨在提供一个易于配置、可移植和可共享的开发环境,以便开发人员可以快速搭建一致的开发环境,无论是单个开发人员还是多人协作的团队。

其设计理念是操作虚拟机软件(例如:Virtualbox),自动化运维和管理虚拟机系统。

简单配置

运行 vagrant init 后会生成一个 Vagrantfile 配置文件,可以做以下简单设置,不懂的问问 GPT。

安装位置为虚拟机的默认安装位置,我这里使用的 VirtualBox。

Vagrant.configure("2") do |config|
  config.vm.box = "archlinux/archlinux"
  config.vm.box_url = "file://ArchLinux.box"	# 当前目录下的 ArchLinux.box 文件

  config.vm.network "private_network", ip: "192.168.4.33"
  # config.vm.network "forwarded_port", guest: 22, host: 2222, host_ip: 127.0.0.1 # default

  config.vm.synced_folder ".", "/vagrant", disabled: true

  config.vm.provider "virtualbox" do |vb|
    vb.customize ["modifyvm", :id, "--name", "ArchLinux"]
    vb.memory = "1024"
    vb.cpus = 2
  end
end

我这里使用的本地 ArchLinux.box 文件,不想手动下载的话,可以去掉,然后再 config.vm.box 设置所需系统在 Vagrant Cloud 的名称

image-20230906172705343

随后运行 vagrant up 即可自动安装虚拟机。

连接

如果安装的是 Linux 机器,vagrant ssh 即可连接,默认的用户名/密码为:vagrant/vagrant,设置了 config.vm.network "private_network" 后,仅虚拟网卡同网段主机和当前主机可以连接。

关机需要切换到配置文件所在目录,并执行 vagrant halt

更新与迁移

如果需要换电脑或者重装系统,可以通过以下操作.

  1. 切换到配置文件所在目录 vagrant halt 关闭虚拟机

  2. 运行 vagrant package --output <box文件名>.box 将虚拟机导出为 .box 文件

  3. 在新的环境中设置 config.vm.box_url = "file://ArchLinux.box" 其中 file://ArchLinux.box 为 .box 文件位置。

  4. 再次运行 vagrant up 即可恢复虚拟机。