myfreax

如何在Ubuntu 20.04上安装Vagrant

Vagrant是用于构建和管理虚拟机的命令行工具。默认情况下,Vagrant可以在VirtualBox,Hyper-V和Docker之上创建虚拟机

3 min read
By myfreax
如何在Ubuntu 20.04上安装Vagrant

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/8box:

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官方文档。如有任何疑问,请在下面发表评论。