什么是Vagrant

什么是Vagrant ?

Vagrant 是一个对虚拟环境管理的工具,必须借助virtualbox/vm 才能使用。vagrant 英译流浪汉,可以方便的把某个虚拟开发环境搬运到另外一台机器中。

如何使用Vagrant?

假设已经用virtualbox建了一个开发环境。比如LAMP。现在想要在另外一台机器上重新建立一个一模一样的开发环境。

初始化vagrant

vagrant init

生成Vagrantfile,Vagrantfile是一个配置文件,可以配置登录虚拟机方式password/ssh,虚拟机ip,将要执行的容器文件box等信息。

把当前实例化了的虚拟环境导出成box-name.box, 这个box可能有几十G,这是已经压缩过的容器盒子,手动压缩也差不多大小。
导出之后Vagrantfile将会有配置config.vm.box = "box-name"

vagrant package --output box-name.box

开发人员拷贝box及Vagrantfile到本地,本地需要已经安装vm,在Vagrantfile所在目录下运行vagrant up即可在本地生成刚才的虚拟机环境。需要等待几分钟。

vagrant up

登录虚拟机,ssh方式

vagrant ssh

重启虚拟机

vagrant reload

关闭虚拟机,并退出

vagrant halt

销毁虚拟机实例,实例化的虚拟环境占内存很大,经常不用可以销毁。

vagrant destory

如果本地有多个box,修改Vagrantfile中绑定的box,vagrant up 可以随时进入另外一个虚拟机环境,比如LNMP

vagrant box add box_name path-to-box

仓库

公有的仓库中直接拉取box,然后启动环境。比如把ubuntu14.04拉取到本地。
修改Vagrantfile

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/trusty64"
end

然后启动

vagrant up

Vagrant 和 Docker 有什么区别 ?

参考什么是Docker?
简单来说,Docker比Vagrant强大很多,docker包含vagrant的功能,docker也可以做容器实例导出的工作,但是docker可以导出镜像文件到本地,通过镜像文件生成虚拟容器实例。镜像文件可能也就几十兆,Docker更加轻量级,Docker不依赖vm。把线上环境安装在vm里面是不现实的。docker参数多,更加灵活,在线上部署服务器集群也是很方便的。
比如docker 启动一个ubuntu18的镜像。

docker run ubuntu:18.04

vagrant简单易上手,命令简单,也非常适用于小团队内部开发。但是依赖vm,vagrant 打包镜像文件一般必须包含系统镜像,否则难迁移运行。打包文件比较大。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、Vagrant 介绍 Vagrant 是一个软件,可以自动化虚拟机的安装和配置流程,用来管理虚拟机,如 Vir...
    zpei0411阅读 9,537评论 0 7
  • 1,介绍Vagrant 我们做web开发的时候经常要安装各种本地测试环境,比如apache,php,mysql,r...
    meng_philip123阅读 7,307评论 0 12
  • 1. Vagrant 的介绍 虚拟开发环境 平常我们经常会遇到这样的问题:在开发机上面开发完毕程序,放到正式环境之...
    斐波那契额阅读 5,840评论 1 12
  • 前言 相信大家对VMware和VirsualBox不会太陌生,虚拟化的好处在这里我就不多说了。那么我们就一起来学习...
    程序猿Timothy阅读 6,902评论 0 2
  • Vagrant是什么 Vagrant是一个软件,可以自动化虚拟机的安装和配置流程。目前市面上个人PC的主流操作系统...
    北魏企鹅阅读 30,374评论 3 40

友情链接更多精彩内容