0.说明

本门所有的操作都是基于mac。windows可做相应调整,大体流程是一样的。

1.什么是vagrant

通俗来讲vagrant是一个通过命令行,来管理虚拟机的工具,vagrant本身并没有提供虚拟化的功能,vagrant可以用来管理vistualbox,可以通过vagrant提供的命令来创建,启动和关闭vistualbox里面的虚拟机。

2.为什么要使用vagrant

vagrant提供一个配置文件Vagrantfile,可以通过该配置文件快速创建或者复制一个虚拟机,同时使用命令行来管理虚拟机非常简单。

3.安装vagrant和vistualbox

vistualbox 官网下载:https://www.virtualbox.org/wiki/Download_Old_Builds_5_1

vagrant官网下载:https://www.vagrantup.com/downloads.html

可以选择合适的平台和版本下载。具体的安装不在这里说明。

4.vagrant box

vagrant box 是 vagrant定义的vagrant镜像,vagrant通过box镜像可以在vistualbox里面快速创建一个虚拟机,vagrant box 里面包含相应的操作系统。vagrant官方box地址:

https://app.vagrantup.com/boxes/search



可以在创建虚拟机的时候指定box,该box可以是官方仓库里面的,也可以将box提前下载到本地,在创建的时候指定路径。

5.vagrant快速创建虚拟机

假设我们创建一个centos7的虚拟机,现在现在系统中创建一个centos7demo的文件夹(该文件夹的名字可以随意),然后在命令行中进入该目录。创建一个Vagrantfile文件(这个名字必须是这样的),在文件中写上以下内容

Vagrant.configure("2") do |config|
config.vm.box = "/Users/niele/boxes/CentOS-7.box"
#config.vm.box = "centos/7"
end

此处指定了box镜像为centos/7,创建虚拟机的时候,先去vagrant box仓库先把centos/7这个镜像下载下来。再根据该box镜像快速的创建一个centos7的虚拟机。也可以在此处指定一个本地路径,创建虚拟机的时候直接读取指定路径下的box。

然后在centos7demo目录下执行如下命令:

(1)vagrant添加box到本地镜像仓库。

vagrant box add centos/7 # 去vagrant网上官方仓库下载box 添加到本地镜像仓库
vagrant box add my_first_box D:/centos-7.0-x86_64.box #或者将提前下载下来的box加到vagrant本地镜像仓库里面。

远程下载box界面如下:



可以通过如下命令查看本地镜像

vagrant box list

(2)创建并运行虚拟机

vagrant box up

启动完成后vmbox里面创建并运行一个centos7demo的虚拟机

6.vagrant 登录到虚拟机

在centos7demo目录下直接通过如下命令登录到创建的虚拟机:

vagrant ssh



可以发现已经连接到虚拟机。

7.总结

本文只是简单的介绍vagrant相关知识和入门操作,后面还会讲解怎么通过vagrant开启一个集群,通过vagrant开启一个集群只需一条命令,对于搭建集群环境非常便利。

vagrant 入门的更多相关文章

  1. Vagrant入门

    简单地说,Vagrant让我们可以通过代码的方式快速地.可重复地创建针对不同虚拟环境的虚拟机,包括Virtualbox.AWS.Docker等.它使得我们可以一次性地.自动创建多个环境相同的虚拟机,对 ...

  2. [转] Vagrant入门

    [From] https://www.cnblogs.com/davenkin/p/vagrant-virtualbox.html 简单地说,Vagrant让我们可以通过代码的方式快速地.可重复地创建 ...

  3. Vagrant入门二(转)

    原文:https://github.com/zhjchina/Go-best-practice/edit/master/ebook/zh/01.3.md 3 Vgrant使用入门 前面我们已经学会了如 ...

  4. Vagrant入门一(转)

    原文: https://github.com/astaxie/Go-best-practice/blob/master/ebook/zh/01.2.md 1.2 Vagrant安装配置 实际上Vagr ...

  5. Vagrant 入门 - 配置

    原文地址 现在我们已经有了一个运行 Ubuntu 的虚拟机,并且可以在宿主机上编辑文件并自动同步到虚拟机.现在让我们安装一个 web 服务器,通过服务器访问这些文件. 可以通过 SSH 进入并安装一个 ...

  6. Vagrant 入门 - box

    原文地址 Vagrant 使用基础镜像来快速克隆虚拟机,而不是从头开始构建虚拟机.这些基础镜像在 Vagrant 中被称为"box",并且指定用于 Vagrant 环境的 box ...

  7. Vagrant入门[转]

    Vagrant是一个简单易用的部署工具,用英文说应该是orchestration tool.它能帮助开发人员迅速的构建一个开发环境,帮助测试人员构建测试环境. Vagrant的基本工作原理大致如下: ...

  8. vagrant 入门3

    创建第一个Vagrant虚拟环境以及工程(续集): (8) Provisioning: 通常情况下Box只做最基本的设置,而不是一次到位的设置好所有的环境.Vagrant通常使用chef或者Puppe ...

  9. vagrant 入门4

    7. 打包 Packaging , 8080 end 2. 打包Project $ vagrant package --vagrantfile Vagrantfile.pkg 8. 打包完成后,在工程 ...

随机推荐

  1. opencv——对象提取与测量

    #include <opencv2/opencv.hpp> #include <iostream> #include <math.h> using namespac ...

  2. vector使用小结

    1.创建vector容器: std::vector<int> data; std::vector<int> data(20);大小20,自动赋值为0 std::vector&l ...

  3. $Luogu P2029$ 跳舞 题解

    一道不是十分水的\(dp\). 首先我们考虑\(dp\)方程的构造.起初我定义的状态是\(dp_{i,j}\)表示前\(i\)个格子,总共跳了\(j\)次的最大得分.但事实上它并不可以转移,因为我们不 ...

  4. lvs 最常用算法 + tcpdump vrrp 抓包

    1.SH: source hash, 源地址散列. 将请求的目标IP地址换成请求的源IP地址:实现session保持的机制:将来自于同一个IP的请求始终调度至同一RS: 源地址散列调度算法正好与目标地 ...

  5. 开启Node.js的大门

    其实也没什么好说的,简而言之,就是如何配置node.js环境,然后进行开发.博主最近比较堕落,觉得什么事情也没有就不知道想干什么,想融入一些事情又觉得没大神指引,于是自娱自乐开始自己玩node.js, ...

  6. hiveserver2连接报错: User: root is not allowed to impersonate anonymous (state=08S01,code=0)

    使用HiveServer2运行时,启动好HiveServer后运行 private static String url = "jdbc:hive2://192.168.213.132:100 ...

  7. 配置Docker镜像加速器

    由于在国内下载docker官方镜像的速度很慢且容易报错,因此需要配置docker镜像加速器来解决这个问题,加速器就是镜像代理的概念,只代理公有镜像,报错结果如下: net/http: request ...

  8. No CPU/ABI system image available for this target 解决办法

    经过了好几天的奋战,终于解决了这个问题.百度出来的方法真的是很垃圾了 最后用google,才解决出这个问题. 接下来,直入正题: 附上解决的链接:https://blog.csdn.net/doubl ...

  9. 笔记:UITextView内容垂直居中方法

    - (void)contentSizeToFit { //先判断一下有没有文字(没文字就没必要设置居中了) ) { //textView的contentSize属性 CGSize contentSiz ...

  10. Python3入门(九)——面向对象OOP高级编程

    一.使用__slots__限制属性绑定 动态绑定实例的方法: class Person(object): def run(self): print("奔跑吧!") p1 = Per ...