Vagrant 是用于构建和管理虚拟机环境的开源命令行工具。默认情况下,Vagrant可以在VirtualBox,Hyper-V和Docker之上配置机器,但可以通过Vagrant插件系统安装Libvirt(KVM),VMware和AWS等许多其他提供程序。
Vagrant通常由开发人员用来轻松设置与生产环境匹配的开发环境。
本教程介绍了如何在Debian 9机器上安装Vagrant。我们将使用VirtualBox提供程序,这是Vagrant的默认提供程序。
先决条件
在继续学习本教程之前,请确保您以位具有sudo权限的用户身份登录。
在继续本教程之前,请确保满足以下先决条件:
- 以具有sudo权限的用户身份登录。
- 已安装 VirtualBox
在Debian上安装Vagrant
Debian仓库中提供的Vagrant软件包已经过时了。我们将从官方Vagrant网站下载并安装最新版本的Vagrant。
在撰写本文时,Vagrant的最新稳定版本为4.0.0。在继续下一步之前,您应该检查 Vagrant下载页面以查看是否有较新的版本。
首先使用以下信息更新包裹清单:
sudo apt update
使用以下 curl命令下载Vagrant软件包:
curl -O https://releases.hashicorp.com/vagrant/2.2.3/vagrant_2.2.3_x86_64.deb
下载.deb
文件后,请输入以下内容进行安装:
sudo apt install ./vagrant_2.2.3_x86_64.deb
要验证安装是否成功,请运行以下命令,该命令将显示Vagrant版本:
vagrant --version
输出应如下所示:
Vagrant 2.2.3
Vagrant入门
现在,您的Debian机器上已安装了Vagrant,我们来看看如何创建最常用的开发环境。
第一步是创建目录,该目录将是项目根目录并保存Vagrantfile文件。 Vagrantfile是一个Ruby文件,描述了如何配置和配置虚拟机。
创建项目目录,然后使用以下方法切换到该目录:
mkdir ~/my-first-vagrant-project cd ~/my-first-vagrant-project
下一步是使用vagrant init
命令初始化新的Vagrantfile,并指定我们要使用的框。
框是Vagrant环境的软件包格式,并且是特定于提供程序的。您可以在vagrant box目录页上找到公开可用的vrgrant box列表。
在此示例中,我们将使用centos 7
box。运行以下命令以初始化新的Vagrantfile:
vagrant init centos/7
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 ,阅读评论并根据需要进行调整。
现在,我们可以运行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-first-vagrant-project/ => /vagrant
从上方的输出中可以看到,Vagrant还在虚拟机的/vagrant
上安装了项目目录,使您可以在主机上处理项目的文件。
要通过SSH进入虚拟机,只需运行:
vagrant ssh
您可以使用以下命令停止虚拟机:
vagrant halt
如果正在运行的计算机正在运行,则此命令将停止运行该计算机,并销毁在创建计算机期间创建的所有资源:
vagrant destroy
结论
您已经了解了如何在Debian 9计算机上安装和使用Vagrant。我们还向您展示了如何创建基本的开发环境。
要了解有关流浪者的更多信息,请访问官方vagrant文档页面。
如果您有任何问题,请在下面发表评论。