Vagrant 是一个简单易用的部署工具,用英文说应该是 Orchestration Tool 。它能帮助开发人员迅速的构建一个开发环境,帮助测试人员构建测试环境, Vagrant 基于 Ruby 开发,使用开源 VirtualBox 作为虚拟化支持,可以轻松的跨平台部署。
通俗的来说, 就是在本地部署一个和 Linux 虚拟机上的同步文件夹, 这样所有的操作都方便了许多
准备工作
- 下载 VirtualBox 虚拟器 : https://www.virtualbox.org/
- 下载安装 Vagrant : http://www.vagrantup.com/
- 下载使用的 box (
这里的 box 指的是系统
) : http://www.vagrantbox.es/ - 在本地建立一个工作文件夹
部署环境
-
进入工作文件夹中
-
把下载的 box 镜像包放到工作目录下-这里我以
Ubuntu.14.04
为例 -
打开终端进入工作目录, 或者你可以在当前目录按住
shift+鼠标右键
可快速打开当前目录的终端 我们执行
vagrant box list
可查看当前添加进 vagrant 的镜像-
如果没有添加 box 镜像, 我们执行
vagrant box add 系统名字 box镜像
-
这时候我们执行
vagrant box list
就可以查看我们添加的 box 镜像 -
box 镜像添加到 vagrant 里面后我们就可以执行
vagrant init 系统名
初始化, 初始成功后我们可以看见当前工作目录下会生成一个Vagrantfile
的配置文件 -
因为我们虚拟机默认只分配一个访问外网的 IP, 项目使用的 IP 得手动设置打开
Vagrantfile
找到29行(我的配置文件在29行)设置一个私有 IP -
到这里所有配置工作都完成了, 我们可以
vagrant up
正式启动了, 启动成功后会在当前目录生成一个.vagrant
的隐藏文件夹 -
在工作目录中, 使用了
vagrant up
命令, 我们虚拟机会自动的帮我们配置一个系统, 然后自动后台启动, 以后都无须管理虚拟机让虚拟机在后台玩儿去吧
-
我们可以在当前目录使用
vagrant ssh
直接连接到虚拟机里面, 也可以使用第三方工具进行连接如Putty
,Xshell
, IP 为我们刚刚在Vagrantfile
配置文件中设置的私有 IP特别注意: 如果是第三方工具连接, 用户名和密码都是
vagrant
-
虚拟机里面的
/vagrant
这个文件夹是和我们本地同步的文件夹 -
下面我们就来看看vagrant神奇的地方, 我们在
/vagrant
同步文件夹里面创建一个文件a
, 看看我们本地发生了什么....., 同样我们在本地把这个a
文件删除, 看看虚拟机里面发生了什么... - 这样我们以后从服务器拉取下来的项目, 就可以直接在同步文件夹操作, 操作本地文件, 就相当于操作虚拟机, 目前已经有很多大型公司使用
vagrant
, 因为这可以提升他们的开发效率
最后附上vagrant
一些常用的命令
-
$ vagrant box add NAME URL
#添加一个box -
$ vagrant box list
#查看本地已添加的box -
$ vagrant box remove NAME virtualbox
#删除本地已添加的box,如若是版本1.0.x,执行$ vagrant box remove NAME -
$ vagrant init NAME
#初始化,实质应是创建Vagrantfile文件 -
$ vagrant up
#启动虚拟机 -
$ vagrant halt
#关闭虚拟机 -
$ vagrant destroy
#销毁虚拟机 -
$ vagrant reload
#重启虚拟机 -
$ vagrant package
#当前正在运行的VirtualBox虚拟环境打包成一个可重复使用的box -
$ vagrant ssh
#进入虚拟环境
Vagrant 构建 Linux 开发环境的更多相关文章
-
使用Vagrant打造Linux开发环境
1.安装Oracle VM VirtualBox.vagrant,安装完成需重启电脑 Oracle VM VirtualBox安装包下载:https://www.virtualbox.org/wiki ...
-
使用 Vagrant 打造跨平台开发环境
Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用,“代码在我机子上运行没有问题”这种说辞将成为历史. 我们可以通过 Va ...
-
使用 Vagrant 打造跨平台开发环境fffff
Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用,“代码在我机子上运行没有问题”这种说辞将成为历史. 我们可以通过 Va ...
-
[转帖]使用 Vagrant 打造跨平台开发环境
使用 Vagrant 打造跨平台开发环境 https://segmentfault.com/a/1190000000264347 Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/p ...
-
Python黑帽编程1.2 基于VS Code构建Python开发环境
Python黑帽编程1.2 基于VS Code构建Python开发环境 0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Atta ...
-
Vagrant 部署python开发环境
Vagrant简介 Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境.它使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境. 在Windows下 ...
-
使用Vagrant配置本地开发环境
从二零一四年开始使用vagrant+VirtualBox搭建linux开发环境,配置简单灵活,后台运行占用内存少,比vmware好用很多,果断弃用vmware转投vagrant的怀抱:无论是个人搭建开 ...
-
20145213《信息安全系统设计基础》实验一 Linux开发环境的配置
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1452 姓名: 黄亚奇 祁玮 学号:20145213 20145222 成绩: 指导教师:娄嘉鹏 实验日期:2016 ...
-
从源代码构建 Go 开发环境
从源代码构建 Go 开发环境 Go 1.5 之前的版本 安装C 语言开发环境 在Go 1.5 之前的版本(比如 1.3.1.4),都会部分的依赖 C 语言的工具链,所以如果你有C 语言的开发环境,就可 ...
随机推荐
-
使用Ubuntu 12.04作为日常电脑环境
搜狗输入法出来之后,我觉得有必要写一篇博客说明一下,如何使用Ubuntu作为日常的电脑系统.我使用的Ubuntu版本是12.04,没有使用Ubuntukylin,因为的电脑比较老,使用那个版本,电脑有 ...
-
zTree实现清空选中的第一个节点的子节点
zTree实现清空选中的第一个节点的子节点 1.实现源代码 <!DOCTYPE html> <html> <head> <title>zTree实现基本 ...
-
《转载》常用算法经典代码(C++版)
转自:http://blog.renren.com/blog/311453043/736944237 一.快速排序 void qsort(int x,int y) //待排序的数据存放在a[1]..a ...
-
JSP基本语法总结【2】九大内置对象
内置对象也称为内建对象,隐含对象,即无需声明,直接可以在JSP中使用的java对象.JSP的内置对象就是把最常用.重要的几个对象直接创建了. JSP有9大内置对象:Request,Response, ...
-
[洛谷P1197/BZOJ1015][JSOI2008]星球大战Starwar - 并查集,离线,联通块
Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通过 ...
-
Spring Cloud Alibaba基础教程:Nacos的数据持久化
前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...
-
j旧学习
多态的动态绑定: 签名 方法名和参数列表 不同参数叫重载,覆盖父类签名叫覆盖 类加 final不可继承 方法加final不可覆盖 强制类型转换 (类型)对象 抽象类 只要有一个抽象方法就是抽象类, ...
-
robotframework中RIDE的下载及安装
1.首先说一下我当前的环境配置 win10系统64位 python3.6.5,已配置环境变量 2.安装RIDE前需要安装的依赖包(使用pip就可以直接安装) 首先必须有robotframework这就 ...
-
Confluence 6 找到在创建 XML 备份的时候出现的错误
错误可能是因为数据库突然不可访问而产生.如果你在你的日志中看到了错误 'Couldn't backup database data' ,这个指南将会帮助你更正这个错误.我们强烈推荐你备份 Confl ...
-
MongoDB数据库中查询数据(下)
MongoDB数据库中查询数据(下) 在find中,options参数值为一个对象,用来设置查询数据时使用的选项,下面我们来对该参数值对象中可以使用的属性进行介绍: 1. fields; 该属性值为一 ...