【51CTO.com快译】近些年来,包括Linux在内的现代操作系统得到了发展,将操作系统虚拟化引入到普通的PC。使用虚拟机监控程序运行多个操作系统让开发人员、系统管理员和喜欢捣鼓的人可以创建小型可分配的虚拟环境来测试和学习。
随着虚拟化变得越来越流行,越来越多可简化工作的软件应运而生。Vagrant正是这类软件之一。今天,我们将介绍在Linux上开始使用Vagrant:Vagrant是什么?如何在基本系统上安装Vagrant?以及它有哪些用途?
Vagrant是什么?
Vagrant是一种工具,可与Virtual Box和VMware等虚拟化软件配合使用,以提供一种简易的方法来创建、配置和复制状态已知的虚拟机。它便于将预配置的虚拟机或设备从Vagrant Cloud提取,初始化后在系统上运行。它使任何人拉取镜像、运行几个简单命令并拥有可以捣鼓的虚拟服务器变得非常简单。
安装Vagrant
您可以从“下载”页面下载Vagrant的zip文件。解压缩后即可找到应用程序镜像。使它可执行并运行。
或者,您可以通过发行版的代码存储库来安装它:
- Ubuntu/Debian/Ubuntu-based distros:
- sudo apt install vagrant
Fedora上:
- sudo dnf install vagrant
图1
Vagrant可以与Hyper-V、VMWare、Parallels、VirtualBox和libvirt兼容。在本教程中,我将使用libvirt(如何配置libvirt详见此处https://www.maketecheasier.com/create-linux-virtualization-workstation/),因为它是Linux内核中内置的虚拟机管理程序。
想安装Vagrant libvirt提供程序,请使用以下命令之一:
- sudo apt install vagrant-libvirt
或者
- vagrant plugin install vagrant-libvirt
图2
开启您的第一个Vagrant设备
想启动并运行Vagrant,您要添加一个设备,为虚拟机创建目录,然后运行两个Vagrant命令:一个用于初始化系统,另一个用于启动虚拟机。
首先,为系统添加一个设备:
- vagrant box add centos/7 --provider=libvirt
确保添加作为flag的提供程序。可以在此处https://app.vagrantup.com/boxes/search找到更多的设备。
下一步,创建一个目录并进入到该目录:
- mkdir vagrant-test
- cd vagrant-test
现在,初始化Vagrant:
- vagrant init<em> </em>centos/7
作为初始化阶段的一部分,Vagrant将在当前工作目录中创建一个名为“Vagrantfile”的文件(比如vagrant-test1)。您可以创建任意数量的目录并初始化Vagrant。每个目录和Vagrantfile代表一个虚拟机。这些不同的虚拟机可以基于同一设备(比如precise32)或不同设备。
要启动虚拟机,请运行:
- vagrant up
启动后,虚拟机以无外设模式(没有监视器或虚拟屏幕)运行,您只能通过SSH连接到该虚拟机。可以从您网络上的任何其他计算机通过普通的SSH客户端来执行该操作,也可以使用内置的ssh命令。如果您想使用另一个SSH客户端,请注意:正确的IP地址是主机(运行Vagrant和提供程序的PC)的IP地址,但在不同的端口上。启动过程中,Vagrant将显示如何转发端口22(用于SSH)。可能会转发到端口2222。
想使用内置的ssh命令,请输入:
- vagrant ssh
现在您已连接到虚拟机。想退出SSH连接,请输入“exit”或按Ctrl +D组合键。
停止您的第一个vagrant设备
想停止运行中的虚拟机,请使用:
- vagrant ssh
想删除虚拟机,请使用:
- vagrant destroy
销毁该虚拟机后,基本操作系统(来自.box文件)仍存储在Vagrant的内部,需要时可启动其他虚拟机,无需Vagrant重新下载.box文件。
仅用两个命令(vagrant init和vagrant up),Vagrant让您可以启动一个功能齐全、可通过SSH访问的Linux虚拟机。高级配置可通过Vagrantfile来进行。可以在Vagrant说明文档(http://docs.vagrantup.com/v2/)中找到更多详细信息。
原文标题:Getting Started with Vagrant on Linux,作者:John Perkins
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】