使用 VirtualBox 创建 Vagrant Boxes 的完全指南
创始人
2024-03-01 21:16:18
0

Vagrant 是一个用来创建和管理虚拟机环境的工具,常用于建设开发环境。 它在 Docker、VirtualBox、Hyper-V、Vmware、AWS 等技术的基础上构建了一个易于使用且易于复制、重建的环境。

Vagrant Boxes 简化了软件配置部分的工作,并且完全解决了软件开发项目中经常遇到的“它能在我机器上工作”的问题,从而提高开发效率。

在本文中,我们会在 Linux 机器上学习使用 VirtualBox 来配置 Vagrant Boxes。

前置条件

Vagrant 是基于虚拟化环境运行的,这里我们使用 VirtualBox 来提供虚拟化环境。 关于如何安装 VirutalBox 我们在“在 Linux 上安装 VirtualBox” 中有详细描述,请阅读该文并安装 VirtualBox。

安装好 VirtualBox 后,下一步就是配置 Vagrant 了。

安装

VirtualBox 准备好后,我们来安装最新的 vagrant 包。 在写本文的时刻, Vagrant 的最新版本为 2.0.0。 使用下面命令下载最新的 rpm 文件:

$ wget https://releases.hashicorp.com/vagrant/2.0.0/vagrant_2.0.0_x86_64.rpm

然后安装这个包:

$ sudo yum install vagrant_2.0.0_x86_64.rpm

如果是 Ubuntu,用下面这个命令来下载最新的 vagrant 包:

$ wget https://releases.hashicorp.com/vagrant/2.0.0/vagrant_2.0.0_x86_64.deb

然后安装它,

$ sudo dpkg -i vagrant_2.0.0_x86_64.deb

安装结束后,就该进入配置环节了。

配置

首先,我们需要创建一个目录给 vagrant 来安装我们需要的操作系统,

$ mkdir /home/dan
$ cd /home/dan/vagrant

注意: 推荐在你的用户主目录下创建 vagrant,否则你可能会遇到本地用户相关的权限问题。

现在执行下面命令来安装操作系统,比如 CentOS:

$ sudo vagrant init centos/7

如果要安装 Ubuntu 则运行:

$ sudo vagrant init ubuntu/trusty64

vagrant boxes

这还会在存放 vagrant OS 的目录中创建一个叫做 Vagrantfile 的配置文件。它包含了一些关于操作系统、私有 IP 网络、转发端口、主机名等信息。 若我们需要创建一个新的操作系统, 也可以编辑这个问题。

一旦我们用 vagrant 创建/修改了操作系统,我们可以用下面命令启动它:

$ sudo vagrant up

这可能要花一些时间,因为这条命令要构建操作系统,它需要从网络上下载所需的文件。 因此根据互联网的速度, 这个过程可能会比较耗时。

vagrant boxes

这个过程完成后,你就可以使用下面这些命令来管理 vagrant 实例了。

启动 vagrant 服务器:

$ sudo vagrant up

关闭服务器:

$ sudo vagrant halt

完全删除服务器:

$ sudo vagrant destroy

使用 ssh 访问服务器:

$ sudo vagrant ssh

我们可以从 Vagrant Box 的启动过程中得到 ssh 的详细信息(参见上面的截屏)。

如果想看创建的 vagrant OS,可以打开 VirtualBox,然后你就能在 VirtualBox 创建的虚拟机中找到它了。 如果在 VirtualBox 中没有找到, 使用 sudo 权限打开 virtualbox, 然后应该就能看到了。

vagrant boxes

注意:Vagrant 官方网站上可以下载预先配置好的 Vagrant OS。

这就是本文的内容了。如有疑问请在下方留言,我们会尽快回复。


via: http://linuxtechlab.com/creating-vagrant-virtual-boxes-virtualbox/

作者:Shusain 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

不使用Vagrant的情况...
要在不使用Vagrant的情况下使用Ansible和Virtual...
2024-12-29 12:31:06
编译VirtualBox出...
出现“找不到makeself (变量makeself)!”的错误是...
2024-12-09 05:31:04
本地kubectl与托管在...
要在本地kubectl与托管在vagrant上的远程minikub...
2024-11-29 21:01:37
保护Vagrant虚拟机并...
要保护Vagrant虚拟机并添加一个带密码的新用户,可以按照以下步...
2024-11-24 02:06:23
包含一个Vagrantfi...
要创建一个包含一个Vagrantfile的配置文件目录,你可以按照...
2024-11-23 19:30:46
Babel错误:“错误:无...
该错误表示在项目中无法找到名为"babel-plugin-tran...
2024-11-19 21:30:43

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...