两行命令创建Linux

vagrant-virtualbox.jpg

简书不维护了,欢迎关注我的知乎:波罗学的个人主页

两行命令即可创建Linux并不是天方夜谭。借助Vagrant完全可以实现这个目标。

无论开发运维还是测试,常会因某些需求而搭建用于开发测试的Linux环境。通常可通过如下几种获取

  • 公司物理机Linux系统,快速获取但不够灵活,无法选择系统版本,多人共用
  • 购买服务商云主机,快速获取且版本可选,配置灵活定制,但价格不菲
  • 通过virtualbox,vmware等软件安装,灵活可定制,但安装时间长且体积大
  • 可直接使用linux作为您的电脑系统,但版本固定,无法复用,不利于测试

庆幸的是,Vagrant能够克服以上所有缺点,且只需两行命令便可快速获取到一个Linux。

什么是Vagrant

Vagrant是基于virtualbox、vmware等虚拟机软件,打造的一款便于管理虚拟机的命令行工具集软件。打开vagrant官网,映入眼帘便是 Development environments made easy 几个大字。主旨很明确,使开发环境的搭建更easy,用于创建和配置轻量级、可复用和可移植的开发环境。

总结有如下特点

轻量级Vagrant环境打包的box常为几百兆,约一软件包大小。同时配置方便,通过编写Vagrant配置文件即可管理虚拟机网络、共享文件、ssh和内存大小等,也可指定预定义脚本实现自动化部署。

可复用Vagrantbox支持版本控制且可分享复用,可采用类似github的网络仓库方式共享。https://atlas.hashicorp.com便是Vagrant官方提供的全球共享网络仓库地址。不过中国访问速度不够给力。

可移植Vagrant还有一个重要特点,那便是它的可移植、跨平台性特性。无论团队成员使用的是window、macos亦或是linux,一个box可同时提供给任意平台使用,保证了开发环境的统一性。

了解了Vagrant的这些特点,不知道朋友们是否蠢蠢欲动,想一探究竟,看看Vagrant到底如何使用?好!下面进入正题。

软件安装

此处以mac为例,安装Vagrant所需软件,如下

  • Vagrant

  • Virtualbox(此文使用virtualbox作为虚拟机软件)

安装Homebrew

访问brew官网https://brew.sh/获取最新的brew安装命令,如下

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrew Cask扩展了Homebrew,提供更多资源。获取最新cask资源如下

$ brew tap caskroom/cask

安装Vagrant和Virtualbox

有了cask,mac下的软件安装非常简单,如下

$ brew cask install vagrant$ brew cask install virtualbox

自此,mac下的Vagrant就可以使用了。

Window下载最新的软件包,傻瓜式的安装。这里就不多介绍了。

两行命令创建Linux

首先体验下vagrant如何用两行命令快速创建Linux。如下

配置

Vagrant创建虚拟机需要基于Vagrantfile配置文件。选择合适的目录执行如下命令

$ vagrant init hashicorp/precise64

此时在当前目录下便生成了Vagrant配置文件Vagrantfile,如下

# -*- mode: ruby -*-# vi: set ft=ruby :# ...Vagrant.configure("2") do |config|# ...  config.vm.box = "hashicorp/precise64"# ...end

由上可知,此处使用hashicorp/precise64作为启动box。

注:Vagrant采用ruby为配置语言,非常简单,本人未曾写过ruby,但编写配置毫无压力

创建

在配置好配置文件后,使用如下命令

$ vagrant up

便开始从网络下载所需的box文件。待命令执行完成,一个虚拟机便创建完成,至此只用了两行命令。

注:以上步骤会从网络获取启动环境所需box,执行时间视网速而定。

下面便可使用刚刚创建的开发环境了。如下命令登录

$ vagrant ssh

是不是非常方便快捷,此时便可使用属于您的Linux了。

学习路线

上段文字只是为了展示Vagrant一键创建环境的魅力,但如果希望更好使用Vagrant,还有更多知识需要学习。比如

  • 如何管理box
  • 如何使用命令管理环境
  • 怎么配置共享目录
  • 怎么配置网络
  • 如何搭建多机集群

    等等。

下面是我根据官方文档梳理而成的学习目录

以上目录涉及的知识,并不需要开发人员全部掌握。毕竟Vagrant是为了是简化开发环境的搭建工作。对于公司,只要团队中有部分几人掌握,便可造福整个团队,加快团队的开发效率。但对于一名技术爱好者而言,学习不应该止于工作层面的。

附录

virtualbox四种网络连接方式 http://www.cnblogs.com/york-hust/archive/2012/03/29/2422911.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容