在学习区块链项目 Hyperledger Fabric时,因为他们使用了Vagrant作为虚拟机,所以,就先学习了一下Vagrant,下面是vagrant的安装教程。

概述

Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。

下载

官网https://www.vagrantup.com/downloads.html下载比较慢,当前版本为 1.8.6

另外,需要下载并安装VirtualBox

安装

这一步简单,下载了安装包,点开安装即可。路径可以自己定制。

添加镜像

新建一个文件夹为工作目录并且打开

mkdir Workspace
cd Workspace

下载一个virtualbox镜像,我们可以到https://github.com/chef/bento上下载一个镜像。

我下载的是virtual box版的centos 7.2.box

下载速度太慢(几kb...),时间会比较长,我的做法是先离线下载到百度云,再从百度云上用IDM下载

下载完后,将box添加到vagrant,如下:

vagrant box add centos7 ../Boxes/opscode_centos-7.2_chef-provisionerless_2.box

centos7是box的名称

初始化

box有了以后,我们就可以到我们的工作空间去初始化开发环境了

vagrant init centos7

初始化完成后,当前目录下会生成一个Vagrantfile,这是vagrant的配置文件,我们可以通过这个文件来对vagrant进行配置。

启动环境

使用以下命令启动环境:

vagrant up

终端会显示启动过程。这时候打开virtualbox,可以有一个default虚拟机正在运行。

在启动信息中,有类似下面的字样:

default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant

这个就是登录系统所需信息了。

SSH地址:127.0.0.1
SSH端口:2222
用户名:vagrant

登录系统

启动完成后,如果是Linux用户,可以通过

vagrant SSH

来登录系统。

如果是Windows用户,可以通过Putty、Xshell等软件登录系统。

登录信息如前所述,密码(默认密码)为:vagrant。

打包分发

好了,接下来就可以到虚拟机中各种折腾,安装好开发环境进行开发了。

配置好开发环境后,退出并关闭虚拟机。开始对开发环境打包:

vagrant package

打包完成后,就会生成一个package.box,改个名字后就可以分发给其他人了。其他用户拿到box后,就可以向初始化这一步一样,先添加box,然后init,就可以方便地得到一个一样的开发环境了。

有关vagrant的高级用法,可以通过看Vagrantfile文件,里面有较为详尽的注释。也可以访问这个网址:https://www.vagrantup.com/docs/cli/index.html