美文网首页编什么程
Vagrant--程序员的“万能胶囊”

Vagrant--程序员的“万能胶囊”

作者: 沙蒿同学 | 来源:发表于2019-01-11 20:26 被阅读3次

故事

想必大家的童年都看过《七龙珠》吧,里面的布尔玛家族发明的万能胶囊,可谓是高科技产品啊,一个小小的胶囊,什么摩托、汽车、床、房子只要打一响指就变出来了。好处当然是很多啦,这么高科技的东西要是在现实中要是存在的话就牛B了,理想是好的,现实是在未来几十年或者根本不可能开发出这样的胶囊,但是在程序员的世界里,不可能往往是可能的。这个“万能胶囊”就是Vagrant。


image.png

基本介绍

Vagrant 是一个用来构建和管理虚拟机环境的工具。Vagrant 有着易于使用的工作流,并且专注于自动化,降低了开发者搭建环境的时间,提高了生产力。解决了“在我的机器上可以工作”的问题。
Vagrant 是为了方便的实现虚拟化环境而设计的,使用 Ruby 开发,基于 VirtualBox 等虚拟机管理软件的接口,提供了一个可配置、轻量级的便携式虚拟开发环境。使用 Vagrant 可以很方便的就建立起来一个虚拟环境,而且可以模拟多台虚拟机,这样我们平时还可以在开发机模拟分布式系统。

选择的原因

作为一个php后端开发者,最麻烦的最基础的那就是安装部署开发环境了,一个服务器的环境设计LNMP、redis、mongo等等需要的一些服务支撑,而每一次入职的新员工都要重新花费半天甚至一天时间来安装开发环境。而有了Vagrant,只需要直接将已经打包好的 package(里面包括开发工具,代码库,配置好的服务器等)拿过来就可以工作了,这对于提升工作效率非常有帮助。

准备工作

VirtualBox的安装

Vagrant的安装

PS:安装完后就可以在终端输入 vagrant 命令了。

版本兼容性

  • VirtualBox:自版本4.3.12后启动虚拟机会存在各种问题,因此建议安装4.3.12版本。
  • Vagrant:从1.0.x可以直接升级到1.x版本,Vagrant向后兼容Vagrant1.0.x,但是1.1+版本不在支持1.0.x版本的插件,因此插件也要做相应升级。

使用Vagrant

box介绍

box 是一个打包好的操作系统(万能胶囊),是一个后缀名为 .box 的文件,其实是一个压缩包,里面包含了 Vagrant 的配置信息和 VirtualBox 的虚拟机镜像文件。vagrant up 启动虚拟机是基于 box 文件的,因此在启动虚拟机前必须得把 box 文件准备好。或者也可以在启动的时候指定远程 box 地址,在这里我把 box 文件下载下来,然后启动时指定该文件。

教程

1、在你的操作系统上新建一个目录,在当前目录下执行目录:
要是你本地有打包好的box(例:test.box),要是没有你可以执行远程的box文件地址(例:vagrant开源社区提供了很多box下载地址

vagrant box add test.box

查看box是否创建成功

vagrant box list

2、初始化上面的box

vagrant init test.box

初始化后就会产生一个vagrantfile的文件,这个可以说是“万能胶囊”说明书,里面是vagrant虚拟机的配置内容。
3、启动vagrant

 vagrant up

4、连接vagrant

  vagrant ssh

vagrantfile“万能胶囊说明书”介绍

  • config.vm.box = "text.box",连接的box文件
  • config.vm.network "forwarded_port", guest: 80, host: 80,端口映射,前置是虚拟机端口,后者是本地开发端口
  • config.vm.network "private_network", ip: "192.168.33.10",更改访问ip地址
  • config.vm.synced_folder "E:/www", "/home/vagrant/Code/WWW",目录共享,前置本地,后者虚拟机

Vagrant 常用命令

  • vagrant box add 添加box
  • vagrant init 初始化 box
  • vagrant up 启动虚拟机
  • vagrant ssh 登录虚拟机
  • vagrant box list 列出 Vagrant 当前 box 列表
  • vagrant box remove 删除相应的 box
  • vagrant destroy 停止当前正在运行的虚拟机并销毁所有创建的资源
  • vagrant halt 关机
  • vagrant package 把当前的运行的虚拟机环境进行打包为 box 文件
  • vagrant plugin 安装卸载插件
  • vagrant reload 重新启动虚拟机,重新载入配置文件
  • vagrant resume 恢复被挂起的状态
  • vagrant status 获取当前虚拟机的状态
  • vagrant suspend 挂起当前的虚拟机
  • vagrant global-status 查看当前 vagrant 管理的所有 vm 信息

原文作者:------ 沙蒿 ------
关注我吧《程序员的碎碎念》作者,不会ui的前端不是好后端
不忘初心,牢记使命,对于文章内容有疑问的或者想深入交流学习的朋友可以加我QQ:2283743369

相关文章

  • Vagrant--程序员的“万能胶囊”

    故事 想必大家的童年都看过《七龙珠》吧,里面的布尔玛家族发明的万能胶囊,可谓是高科技产品啊,一个小小的胶囊,什么摩...

  • 《七龙珠》中的三大科技成果

    《七龙珠》中的科技突破都是现代科技研究的课题方向。 1、万能胶囊 看了好几遍布尔玛等人使用万能胶囊时的样子,胶囊很...

  • vagrant--基本操作

    vagrant 建立在虚拟机基础上的虚拟环境管理工具。对于前提——虚拟机,官方推荐使用VirtualBox,因为免...

  • 那年 我上高一

    时间,是万能胶囊,可以治愈伤口;时间,是沉淀着的沙,可以抚平那颗年少着的澎湃的心。 齐刘海,学生头,条纹T恤,牛...

  • TST智能胶囊饮品机=健康+高品质+超便捷+高性价比

    智能胶囊饮品机(简称万能机),它的设计理念和初衷是源于都市人在快节奏生活中饮品的"便捷不健康"和"健康不便捷性"的...

  • 微信小程序实现自定义头部导航栏(详细)

    1.实现效果 2.实现原理 2.1获取胶囊的详细信息 width:胶囊的宽度;height:胶囊的高度top:胶囊...

  • 招募志同道合的网络金融伙伴

    万能的朋友圈,求推荐优秀的互联网从业人员。 选择蓝色胶囊,咱们的故事就结束了,你回到舒适的日常生活中去,可以相信任...

  • 关于wifi密码和万能钥匙那些事

    朋友下载了个wifi万能钥匙,去尝试偷隔壁网的时候破解失败,于是乎求助本程序员说她用这个万能钥匙破了很多家的...

  • IOS高级面试题

    Tip: 自己开发了好玩的APP: 《灵感胶囊》(App Store上搜索:"灵感胶囊") 点击下载 "灵感胶囊"...

  • JS 判断是否安装APP

    Tip: 自己开发了好玩的APP: 《灵感胶囊》(App Store上搜索:"灵感胶囊") 点击下载 "灵感胶囊"...

网友评论

    本文标题:Vagrant--程序员的“万能胶囊”

    本文链接:https://www.haomeiwen.com/subject/nakfdqtx.html