使用 VirtualBox 创建 Vagrant Boxes 的完全指南

使用 VirtualBox 创建 Vagrant Boxes 的完全指南

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

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

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

前置条件

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

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

安装

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

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

然后安装这个包:

  1. $ sudoyum install vagrant_2.0.0_x86_64.rpm
  1. $ wget https://releases.hashicorp.com/vagrant/2.0.0/vagrant_2.0.0_x86_64.deb

然后安装它,

  1. $ sudo dpkg -i vagrant_2.0.0_x86_64.deb

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

配置

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

  1. $ mkdir/home/dan
  2. $ cd/home/dan/vagrant

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

  1. $ sudo vagrant init centos/7

如果要安装 Ubuntu 则运行:

  1. $ sudo vagrant init ubuntu/trusty64

vagrant boxes

vagrant boxes

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

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

  1. $ sudo vagrant up

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

vagrant boxes

vagrant boxes

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

启动 vagrant 服务器:

  1. $ sudo vagrant up

关闭服务器:

  1. $ sudo vagrant halt

完全删除服务器:

  1. $ sudo vagrant destroy

使用 ssh 访问服务器:

  1. $ sudo vagrant ssh

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

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

vagrant boxes

vagrant boxes

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

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


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

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

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

猜你喜欢

转载自www.linuxidc.com/Linux/2017-12/149475.htm
今日推荐