Vagrant是一个命令行工具,用于构建和管理虚拟开发环境。默认情况下,Vagrant 在 VirtualBox, Hyper-V, 和 Docker 之上准备环境。支持其他提供者,例如, Libvirt (KVM), VMware and AWS 可以通过 Vagrant 插件系统启用。
Vagrant 通常被开发者用来建立匹配生产环境的开发环境。
在这篇指南中,我们将会讲解如何在 CentOS 8 上安装 Vagrant。我们也会向你展示如何创建一个开发环境。
在写这篇文章的时候,Vagrant 最新稳定版本是 2.2.6。浏览 Vagrant 下载页面,看看是否有新版本可用。
想要在你的 CentOS 机器上安装 Vagrant,以 root 或者其他 sudo 用户身份输入下面的命令:
sudo dnf install https://releases.hashicorp.com/vagrant/2.2.6/vagrant_2.2.6_x86_64.rpm
一旦安装完成,运行下面的命令,验证 Vagrant 是否被成功安装:
vagrant --version
这个命令将会打印 Vagrant 版本号:
Vagrant 2.2.6
现在假设你已经在你的 CentOS 系统上安装了 Vagrant,让我们来使用 VirtualBox 来创建一个开发环境,这个是 Vagrant 的默认提供者。确定你已经在你的 CentOS 8 系统上安装了 VirtualBox。
第一步就是创建一个目录,作为项目根目录。创建一个项目目录并且切换到该目录下:
mkdir ~/my-vagrant-project
cd ~/my-vagrant-project
下一步就是使用vagrant init
去初始化一个新的 Vagrantfile,并且指定你想使用的盒子。Vagrantfile 是一个配置文件,它被用来描述虚拟机起如何被配置和分配的。它使用 Ruby 语法来定义配置文件。
盒子是用于 Vagrant 环境的软件包格式。你可以找到一系列公开可用的 Vagrant 盒子,在Vagrant box catalog
在这个例子中,我们使用ubuntu/bionic64
。运行下面的命令去初始化一个新的 Vagrantfile:
vagrant init ubuntu/bionic64
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.24:22
default: SSH username: vagrant
default: SSH auth method: private key
==> default: Rsyncing folder: /home/linuxize/Vagrant/my-vagrant-project/ => /vagrant
如果盒子在本地不存在,则会自动下载。Vagrant 同时将项目目录挂载到虚拟机的/vagrant
,它允许你在主机上继续工作。
想要通过 ssh 进入虚拟机,输入:
vagrant ssh
当你完成工作,停止虚拟机,运行:
vagrant halt
使用下面的命令销毁虚拟机和相关资源:
vagrant destroy
如果虚拟机正在运行,它会先被停止,然后被移除。
我们已经向你展示如何在 CentOS 8 上安装 Vagrant ,以及如何创建一个基础的开发环境。
想要了解更多关于 Vagrant 的信息,浏览Vagrant 官方文档页面。