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端 ...
随机推荐
- 老李分享:JVM调优
老李分享:JVM调优 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨 ...
- 【 Android】自定义的AlertDialog中的EditText无法调用输入法问题解决
1.问题描述: 在自定义的AlertDialog 中添加了EditText组件,但运行时怎么点EditText都无法调出软键盘: 2.原因分析: 一开始我以为EditText的focus属性没有设置好 ...
- 微信小程序省市联动
最近呢刚好做了一个省市联动的功能,今天看到有人问这个怎么做,我就把我做的放上来共享一下: 首先呢,来看看效果,点击文字'点击',弹出选择窗口,点击取消或者确定(取消.确定按钮在选择框上边,截图有些不清 ...
- 1147: 零起点学算法54——Fibonacc
1147: 零起点学算法54--Fibonacc Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 20 ...
- 关于 this对象 指向问题
this 定义:this是包含它的函数作为方法被调用时所属的对象.(1,this所在的函数.2,此函数作为方法被调用.3,this等于调用此函数的对象) this 对象在运行时基于函数的执行环境绑定的 ...
- 严格模式下的javascript
arguments: ECMA5移除了实参对象(arguments),在非严格模式下函数里的arguments只是一个标识符,在严格模式下它变成了保留字.严格模式下无法使用arguments作为形参名 ...
- 设计模式总结(Java)—— 适配器模式
适配器模式中引入了一个被称为适配器(Adapter)的包装类,而它所包装的对象称为适配者(Adaptee),即被适配的类.适配器的实现就是把客户类的请求转化为对适配者的相应接口的调用.也就是说:当客户 ...
- 《分布式Java应用之基础与实践》读书笔记一
分布式Java应用的体系结构知识简单分为: 网络通信:包括协议和IO 消息方式的系统间通信:包括基于Java包.基于开源框架.性能角度 远程调用方式的系统间通信:包括基于Java包.基于开源框架.性能 ...
- codeforces 528D Fuzzy Search
链接:http://codeforces.com/problemset/problem/528/D 正解:$FFT$. 很多字符串匹配的问题都可以用$FFT$来实现. 这道题是要求在左边和右边$k$个 ...
- bzoj1834 [ZJOI2010]网络扩容
Description 给定一张有向图,每条边都有一个容量C和一个扩容费用W.这里扩容费用是指将容量扩大1所需的费用.求: 1. 在不扩容的情况下,1到N的最大流: 2. 将1到N的最大流增加K所需的 ...