Vagrant是用于构建和管理虚拟机的命令行工具。默认情况下,Vagrant可以在VirtualBox,Hyper-V和Docker之上创建虚拟机。 可以通过Vagrant插件系统管理其它类型的虚拟机,例如Libvirt(KVM),VMware和AWS。
Vagrant通常由开发人员用来建立跨多个操作系统的开发环境。本教程介绍了如何在Ubuntu 20.04计算机上安装Vagrant。 我们将使用VirtualBox,这是Vagrant的默认使用的虚拟化软件。还包括创建/关闭/销毁虚拟机,使用vagrant ssh连接到虚拟机等。
在Ubuntu上安装Vagrant
我们将在VirtualBox之上配置虚拟机。如果您的系统上未安装VirtualBox ,则可以通过运行以下命令进行安装:
sudo apt update
sudo apt install virtualbox
Ubuntu存储库中提供的Vagrant软件包未定期更新。 我们将从官方的Vagrant网站下载并安装最新版本的Vagrant。在撰写本文时,Vagrant的最新稳定版本是2.2.9版。 访问 Vagrant下载页面,查看是否有可用的Vagrant新版本。
接下来使用curl命令下载Vagrant软件包:
curl -O https://releases.hashicorp.com/vagrant/2.2.9/vagrant_2.2.9_x86_64.deb
下载完成后,请输入以下内容进行安装:
sudo apt install ./vagrant_2.2.9_x86_64.deb
要验证安装是否成功,请运行以下命令,以打印Vagrant版本:
vagrant --version
输出应如下所示:
Vagrant 2.2.9
Vagrant入门
创建Vagrant项目需要设置项目根目录并定义Vagrantfile。使用mkdir命令创建目录并使用以下cd命令切换到刚创建的目录:
mkdir ~/my-vagrant-project
cd ~/my-vagrant-project
接下来,使用vagrant init
命令初始化一个新的Vagrantfile,然后使用您要使用的box。box是Vagrant环境的软件包格式, 您可以在boxes目录页面上找到公开可用的boxes列表。
在此示例中,我们将使用centos/8
box:
vagrant init centos/8
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
Vagrantfile是一个Ruby文件,描述了如何配置虚拟机。 您可以打开Vagrantfile,阅读注释并根据需要进行调整。
运行vagrant up
命令来启动Vagrantfile配置中指定的虚拟机:
vagrant up
==> default: Configuring and enabling network interfaces...
default: SSH address: 192.168.121.74:22
default: SSH username: vagrant
default: SSH auth method: private key
==> default: Rsyncing folder: /home/myfreax/Vagrant/my-vagrant-project/ => /vagrant
Vagrant将当前目录挂载在虚拟机中/vagrant
目录。 这样一来,您就可以在宿主机上处理项目的文件。要SSH到虚拟机,请运行:
vagrant ssh
您可以使用以下命令停止虚拟机:
vagrant halt
要销毁在创建机器期间创建的所有资源,请输入:
vagrant destroy
结论
我们向您展示了如何在Ubuntu 20.04上安装Vagrant并创建基本的Vagrant项目。要了解有关Vagrant访问的更多信息,请访问Vagrant官方文档。如有任何疑问,请在下面发表评论。