vgrant使用简易教程
- 认识vagrant
- vagrant用于创建和部署虚拟化开发环境
- 避免了多次重新配置环境
- 节约了开发时间,同时可以体验不同的操作系统
- 对于新手也是一个不错的方式,当我们配置出错,直接删除重新安装即可
- 准备工具
- VirtualBox 作为虚拟化管理器(下载地址:https://www.virtualbox.org/wiki/Download_Old_Builds_5_1),
- Vagrant(下载地址https://releases.hashicorp.com/vagrant/1.8.6/) ,
- Ubuntu镜像(下载地址:https://pan.baidu.com/s/1kU8fUlD)
- 下载之后请确保文件名为ubuntu1404.box
- 中文文档http://tangbaoping.github.io/vagrant_doc_zh/v2/
- 安装
- 安装virtualbox,vagrant直接按照平常安装软件一样即可。
- 安装好后,进入磁盘目录,任意磁盘都行,创建一个管理目录。这里以vagrant目录为例。同时推荐终端工具不适用windows自带的dos,这里推荐xshell工具。
- 当以上工具准备好后,即可开始安装了,我们先进入我们创建的vagrant目录中,查看当前当前的虚拟机列表。vagrant box list。Ubuntu1604server便是我之前实现安装好了的虚拟机。
- 我们添加一个虚拟机,vagrant box add 。我这里把镜像文件放在wamp64下面的。添加完之后,我们在查看当前的虚拟机,即可看到我们方才添加的虚拟机
- 初始化虚拟机 vagrant init ubuntu。此时我们查看vagrant目录下面就会多一个名为Vagrantfile的配置文件。这个配置文件主要后期我们在对虚拟做修改时,直接修改该文件。
- 开启虚拟机 vagrant up
- 登录虚拟机 vagrant ssh,登录之后,我们就可以像操作Linux一样操作了。此时我们将我们常用的环境配置直按照平常的操作配置即可。
- 基本使用命令
- vagrant box list 查看当前虚拟机
- vagrant box add 添加一个虚拟机
- vagrant box remove 移除虚拟机
- vagrant init 初始化一个虚拟机
- vagrant up 开启虚拟机
- vagrant ssh 登录虚拟机
- vagrant suspend 挂起虚拟机
- vagrant reload 重启虚拟机
- vagrant halt 关闭虚拟机
- vagrant status查看虚拟机状态
- vagrant destory 删除虚拟机
- 端口转化(这里以Nginx为例)
- 找到vagrant目录下的Vagrantfile配置文件,添加
config.vm.network "forwarded_port", guest: 80, host: 8888 8888为Nginx的端口号,80为物理机的端口号,此时我们便可以在我们的物理机上使用127.0.0.1访问Nginx了。
- 或者使用virtualbox图形界面。
- 找到vagrant目录下的Vagrantfile配置文件,添加
- 打包分发
- 按照上面的流程,我们基本的环境已经搭建好了,就是将虚拟机打包出去,方便以后或者别人直接使用。
- 使用vagrant package [--output xxx.box] 不添加后面参数,默认打包为package.box的镜像文件,如果后面参数添加了,则输出xxx.box的镜像文件。
- 当别人拿到我们打包后的镜像文件,直接使用vagrant init即可使用,此时同样的会生成一个Vagrantfile配置文件,我们需要对虚拟机进行操作,直接在配置文件修改即可。
- 当我们的镜像文件更新,可以采用第二步的方式,从新打包给别人使用。也可使用命令操作。如下,我们安装了apache2,直接将这个命令发给使用者,添加到Vagrantfile配置文件,在重启虚拟机即可。
vgrant使用简易教程的更多相关文章
- 生活科技两相宜:(一)Win7使用微软SkyDrive网盘简易教程
今天得写一个Win7使用微软SkyDrive网盘的简易教程,主要是给我老婆看,顺便贴出来给大家共享一下:) 使用微软SkyDrive网盘有两个层次.一个是使用网页版,这个跟使用163或者QQ网盘 ...
- JavaScript简易教程(转)
原文:http://www.cnblogs.com/yanhaijing/p/3685304.html 这是我所知道的最完整最简洁的JavaScript基础教程. 这篇文章带你尽快走进JavaScri ...
- Emacs简易教程
Emacs简易教程阅读: 命令: $emacs 进入之后,输入: C-h t 这里,C-h表示按住[Ctrl]键的同时按h ####### 20090620 *退出: 输入“C-x C-c” *撤销: ...
- 文件上传利器SWFUpload入门简易教程
凡做过网站开发的都应该知道表单file的确鸡肋. Ajax解决了不刷新页面提交表单,但是却没有解决文件上传不刷新页面,当然也有其它技术让不刷新页面而提交文件,该技术主要是利用隐藏的iFrame, 较A ...
- 【转】Delphi内嵌ASM简易教程
Delphi内嵌ASM简易教程 作者:heiying2006-03-19 18:33分类:默认分类标签: 前言 Delphi作为一个快速高效的开发平台,使用的人越来越多,但熟悉在Delphi代码中嵌入 ...
- Ant 简易教程
转载:http://www.cnblogs.com/jingmoxukong/p/4433945.html Ant 简易教程 Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动 ...
- Intellj IDEA 简易教程
Intellj IDEA 简易教程 目录 JDK 安装测试 IDEA 安装测试 调试 单元测试 重构 Git Android 其他 参考资料 Java开发IDE(Integrated Developm ...
- MetaProducts Offline Explorer使用简易教程
MetaProducts Offline Explorer使用简易教程 by windtrace 20170419 最近想下载一个网站上的内容打包成chm文件,以便离线浏览,webzip太长时间不更 ...
- Zabbix实战-简易教程系列
一.基础篇(安装和接入) Zabbix实战-简易教程--总流程 Zabbix实战-简易教程--整体架构图 Zabbix实战-简易教程--DB安装和表分区 Zabbix实战-简易教程--Server端 ...
随机推荐
- Android IPC机制全解析<二>
在AIDL文件中并不是所有的数据类型都可以使用,AIDL支持的数据类型如下: 基本数据类型(int.long.char.boolean.double等) String和CharSequence Lis ...
- ios deprecated 警告消除 强迫症的选择
#pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" ...
- 学Java,是自学还是去培训班学习?
现在正在读在校的最后一个学年,想毕业后从事编程,但是感觉自己技术太差,应该是培训呢?还是去找实习?亦或是有更好的途径? 对于 Android 目前的行业趋势,不知道自己该不该坚持?还是转其他行业? 已 ...
- webpack搭建服务器,随时修改刷新
前提:1.对webpack有一定了解,本文不做介绍 2.安装node.js 手把手操作: 1.创建一个名为webpack-server的文件夹(随便取的) 2.cd到当前文件夹:cd webpack- ...
- Weex的环境搭建以及集成到Android项目
最近由于公司的需要,初步研究了Weex,Weex是阿里开发的一个web的框架,官方的介绍如下: Weex 是一套简单易用的跨平台开发方案,能以 web 的开发体验构建高性能.可扩展的 native 应 ...
- protected 学习
virtual是把一个方法声明为虚方法,使派生类可重写此方法,一般建立的方法是不能够重写的,譬如类A中有个方法protected void method(){ 原代码....;}类B继承自类A,类B能 ...
- JavaWeb的国际化(17/4/8)
国际化的缺点: 因为文字不同,所以带来的排版问题一样严重,通常都是重新在写一个网站反而更加清晰,快捷 1:需要从浏览器中获取到浏览器语言(Accept-Language) 2:利用locale获取 ...
- 接口加密《二》: API权限设计总结
来源:http://meiyitianabc.blog.163.com/blog/static/105022127201310562811897/ API权限设计总结: 最近在做API的权限设计这一块 ...
- 解决NSTimer循环引用Retain Cycle问题
解决NSTimer循环引用Retain Cycle问题 iOS开发中以下的情况会产生循环引用 block delegate NSTimer 循环引用导致一些对象无法销毁,一定的情况下会对我们横须造成影 ...
- 像写C#一样编写java代码
JDK8提供了非常多的便捷用法和语法糖,其编码效率几乎接近于C#开发,maven则是java目前为止最赞的jar包管理和build工具,这两部分内容都不算多,就合并到一起了. 愿编写java代码的过程 ...