Vagrant 构建 Linux 开发环境

Vagrant 是一个简单易用的部署工具,用英文说应该是 Orchestration Tool 。它能帮助开发人员迅速的构建一个开发环境,帮助测试人员构建测试环境, Vagrant 基于 Ruby 开发,使用开源 VirtualBox 作为虚拟化支持,可以轻松的跨平台部署。

通俗的来说, 就是在本地部署一个和 Linux 虚拟机上的同步文件夹, 这样所有的操作都方便了许多

准备工作

  • 下载 VirtualBox 虚拟器 : https://www.virtualbox.org/
  • 下载安装 Vagrant : http://www.vagrantup.com/
  • 下载使用的 box (这里的 box 指的是系统) : http://www.vagrantbox.es/
  • 在本地建立一个工作文件夹

部署环境

  1. 进入工作文件夹中

    file

     

  2. 把下载的 box 镜像包放到工作目录下-这里我以 Ubuntu.14.04 为例

    file

     

  3. 打开终端进入工作目录, 或者你可以在当前目录按住 shift+鼠标右键 可快速打开当前目录的终端

    file

     

  4. 我们执行 vagrant box list 可查看当前添加进 vagrant 的镜像

  5. 如果没有添加 box 镜像, 我们执行 vagrant box add 系统名字 box镜像 

    file

     

  6. 这时候我们执行 vagrant box list 就可以查看我们添加的 box 镜像

    file

     

  7. box 镜像添加到 vagrant 里面后我们就可以执行 vagrant init 系统名 初始化, 初始成功后我们可以看见当前工作目录下会生成一个 Vagrantfile 的配置文件

    file

     

  8. 因为我们虚拟机默认只分配一个访问外网的 IP, 项目使用的 IP 得手动设置打开 Vagrantfile 找到29行(我的配置文件在29行)设置一个私有 IP 

    file

     

  9. 到这里所有配置工作都完成了, 我们可以 vagrant up 正式启动了, 启动成功后会在当前目录生成一个 .vagrant 的隐藏文件夹

    file

     

  10. 在工作目录中, 使用了 vagrant up 命令, 我们虚拟机会自动的帮我们配置一个系统, 然后自动后台启动, 以后都无须管理虚拟机 让虚拟机在后台玩儿去吧

    file

     

  11. 我们可以在当前目录使用 vagrant ssh 直接连接到虚拟机里面, 也可以使用第三方工具进行连接如 PuttyXshell, IP 为我们刚刚在 Vagrantfile 配置文件中设置的私有 IP

    file

     

    特别注意: 如果是第三方工具连接, 用户名和密码都是 vagrant

  12. 虚拟机里面的 /vagrant 这个文件夹是和我们本地同步的文件夹

    file

     

  13. 下面我们就来看看vagrant神奇的地方, 我们在 /vagrant 同步文件夹里面创建一个文件 a, 看看我们本地发生了什么....., 同样我们在本地把这个 a 文件删除, 看看虚拟机里面发生了什么...

    file

     

  14. 这样我们以后从服务器拉取下来的项目, 就可以直接在同步文件夹操作, 操作本地文件, 就相当于操作虚拟机, 目前已经有很多大型公司使用 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 #进入虚拟环境

转载于:https://www.cnblogs.com/hackerer/p/10103133.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/426240.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我的世界javamod怎么装_装暖气片,10个有8个人都想知道的这点事儿!

话说,以前北方集中供暖施工,住户可是啥都不带操心的,毕竟...啥时候装,怎么装,装在哪儿,啥时间打压试水,啥时间开、关,公家都给安排妥妥地,反正家连家,户连户的…

玩转oracle 11g(14):命令学习2

6继续玩&#xff0c;改变查询结果列名 select name as xm,birthday as workday from student;--修改列名name为xm&#xff0c;birthday为workday select * from student; 7 select xh||sex from student--将选择的字段竖行排列 8 select name,sal, case when sal<10000 t…

玩转oracle 11g(15):命令学习3

11插入数据 INSERT INTO student VALUES (A007, null,女, 小华, 24-7月-15, 27,17891345129,32000,工程部); select * from student where xh is null;--查找某一项值为空 12 select coalesce(XH,0) from student--将空值转换为实际值 13按指定方式排序 select name,depo,sa…

使用Topshelf管理Windows服务

目的&#xff1a;以控制台方式开发Windows服务程序&#xff0c;调试部署方便。 https://www.cnblogs.com/itjeff/p/8316244.html https://www.cnblogs.com/gossip/p/4506142.html using System;using System.Collections.Generic;using System.Linq;using System.Text;using Sy…

gdal 压缩tif_Python | GDAL处理影像

GDAL栅格数据处理栅格数据介绍栅格数据读取读取部分数据集坐标变换重采样什么是栅格数据基本上是一个大的二维或三维数组没有独立的几何对象&#xff0c;只有像素的集合二维&#xff1a;黑白图片三维&#xff1a;彩色/假彩色&#xff0c;多光谱/高光谱可以存储几乎任何类型的数…

玩转oracle 11g(16):命令学习4

16 create view V as select name|| ||sal as data from student --建立一个视图 select * from V--查询这个视图 17处理数据空值 select xh from student order by 1 desc—空值排列 18 select xh from student order by 1 desc nulls last--将空值置于最后排序 19 sel…

rmi远程代码执行漏洞_WebSphere 远程代码执行漏洞浅析(CVE20204450)

作者&#xff1a;beijixiong404 文章来源&#xff1a;先知社区漏洞简介WebSphere是IBM的软件平台&#xff0c;它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施&#xff0c;如服务器、服务和工具。2020…

Visual Studio最好用的快捷键(你最喜欢哪个)

每次在网上搜关于VS有哪些常用快捷键的时候&#xff0c;出来的永远是一串长的不能再长的列表&#xff0c;完全没体现出“常用”二字&#xff0c;每次看完前面几个就看不下去了&#xff0c;相信大家都 有这种感觉。其实我们平时用的真的只有很少的一部分&#xff0c;借用一句“二…

玩转oracle 11g(17):命令学习5

21建立班级表 CREATE TABLE class( classId NUMBER(2), cName VARCHAR2(40) ); insert into class values(001,计算机科学与技术); insert into class values(002,计算机科学与技术); insert into class values(003,计算机科学与技术); insert into class values…

版是什么_晴天保保超越版好不好,有什么升级?

(图片来源&#xff1a;Pixabay)首发 | 公众号「 吐逗保 」文 | 逗逗酱(,,&#xff65;∀&#xff65;)&#xff89;゛Hello&#xff0c;大噶好哇~给孩子买重疾险&#xff0c;逗逗酱一直以来推荐给大家最多的就是“晴天保保”、“妈咪保贝”或“大黄蜂系列少儿重疾险”。兼顾了定…

H265编码等级以及图像的基础知识

1. H265编码等级 H264编码profile & level控制 。H265编码初探 H265 profile H265 Profile & Level & Tier 介绍 2. 图像的基础知识 2.1 像素,分辨率&#xff0c;PPI&#xff08;像素密度&#xff09;,BPP 扫盲&#xff1a; 像素,分辨率&#xff0c;PPI&#xff08…

医疗:ICU(7)

ICU即重症加强护理病房&#xff08;Intensive Care Unit&#xff09;&#xff0c;又称加强监护病房综合治疗室&#xff0c;治疗、护理、康复均可同步进行&#xff0c;为重症或昏迷患者提供隔离场所和设备&#xff0c;提供最佳护理、综合治疗、医养结合&#xff0c;术后早期康复…

三种常见字符编码简介:ASCII、Unicode和UTF-8

什么是字符编码&#xff1f; 计算机只能处理数字&#xff0c;如果要处理文本&#xff0c;就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特&#xff08;bit&#xff09;作为一个字节&#xff08;byte&#xff09;&#xff0c;所以&#xff0c;一个字节能表…

贝叶斯软件genle教程_一文读懂蒙特卡罗方法和应用贝叶斯推理

贝叶斯方法与推论&#xff0c;本文应作为我的教程的背景&#xff0c;该教程使用(Py)Stan进行轻松的的应用贝叶斯推理&#xff0c;以及使用r-INLA进行(近似)贝叶斯回归的介绍。在本文中&#xff0c;我将提供有关贝叶斯推理和蒙特卡洛方法的非常简短&#xff0c;自成体系的介绍&a…

看动画轻松理解时间复杂度(一)

算法&#xff08;Algorithm&#xff09;是指用来操作数据、解决程序问题的一组方法。对于同一个问题&#xff0c;使用不同的算法&#xff0c;也许最终得到的结果是一样的&#xff0c;比如排序就有前面的十大经典排序和几种奇葩排序&#xff0c;虽然结果相同&#xff0c;但在过程…

医疗:ERP进销存系统(8)

进销存系统是为了对企业生产经营中进货、出货、批发销售、付款等进行全程进行&#xff08;从接获订单合同开始&#xff0c;进入物料采购、入库、领用到产品完工入库、交货、回收货款、支付原材料款等&#xff09;跟踪&#xff08;每一步都提供详尽准确的数据&#xff09;、管理…

win10切第二屏幕_Win10特有的31个快捷键,装逼利器,赶快收藏吧!学习电脑知识...

很多快捷键不同版本系统基本相同的&#xff0c;不过&#xff0c;今天推送的这篇更多偏向于win10&#xff0c;因为win10将来必定会形成主流&#xff0c;所以还是值得学习。【WinX】 打开简易版开始菜单。【Wini】 打开设置面板。【WinL】 快速锁屏【WinE】 启动资源管理器&#…

java学习(116):arraylist集合实现类

import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; //员工信息类 //date类 public class test50 {private String name;private String sex;private Date birth;public void showme(){System.out.println(this.getName());System.out.p…

BZOJ5020: [THUWC 2017]在美妙的数学王国中畅游(LCT,泰勒展开,二项式定理)

Description 数字和数学规律主宰着这个世界。机器的运转&#xff0c;生命的消长&#xff0c;宇宙的进程&#xff0c;这些神秘而又美妙的过程无不可以用数学的语言展现出来。这印证了一句古老的名言&#xff1a;“学好数理化&#xff0c;走遍天下都不怕。”学渣小R被大学的数学课…

redis存储数据类型_Redis与Memcahe的区别最全整理

经常看到大家只能对比redis和memecache的前两项区别【持久化】和【数据类型】&#xff0c;这里&#xff0c;给整理了最全的memcache和redis的区别&#xff0c;欢迎交流哦缓存(1)【持久化能力】Redis支持持久化&#xff0c;memcache也支持但一般不做持久化(重启丢失数据)(2)【数…