Vagrant是一款用来构建虚拟开发环境的工具,它其实算是一个跨平台的虚拟机管理工具

  1 安装

  1.1 安装Vagrant

  

  下载好pkg文件后,下一步安装即可

  

1.2 安装Virtualbox

  Vagrant依赖现有的虚拟机软件来管理虚拟机,如Virtualbox, Vmware Fusion, Parallel Desktop等,其中最方便的是VirtualBox

  

  同样下载好后直接安装

  

2 使用

  vagrant init # 初始化

  vagrant up # 启动虚拟机

  vagrant halt # 关闭虚拟机

  vagrant reload # 重启虚拟机

  vagrant ssh # SSH 至虚拟机

  vagrant status # 查看虚拟机运行状态

  vagrant destroy # 销毁当前虚拟机

  vagrant suspend # 挂起当前虚拟机

  vagrant resume # 恢复被挂起的vm

  vagrant box list # 列出所有box列表

  vagrant box remove {base name} # 删除

  vagrant destroy # 停止当前正在运行的虚拟机并销毁所有创建的资源

  vagrant package # 把当前的运行的虚拟机环境进行打包,可用于分发开发环境

  vagrant plugin # 安装卸载插件

  vagrant provision # 设置基本的环境,进一步设置可以使用Chef/Puppet进行搭建

  vagrant ssh-config # 输出ssh连接的一些信息

  vagrant status # 获取虚拟机状态

  vagrant version # 获取vagrant的版本

 

  2.1下载启动Box

  在Vagrant中,box是一种打包好的镜像,通过这个镜像,可以生成相应的虚拟机。box可以通过官方网站下载,也可以自己制作,在团队内分享。

  官方的Box可以在创建时自动下载。例如以下步骤

  2.2 添加镜像到 Vagrant

  下载的镜像存放路径是 ~/box/centos.box

  

  在终端里输入

  

  hahaha 是我们给这个 box 命的名字,~/box/centos.box 是 box 所在路径2.3 初始化开发环境

  创建一个开发目录(比如:~/centos),也可以使用已有的目录,切换到开发目录里,用 hahaha 镜像初始化当前目录的环境

  cd ~/centos # 切换目录$ vagrant init hahaha # 初始化

  

  vagrant up # 启动环境

  所创建VM 的名字

  

  

  通过 VB 观察已启动

  

  你会看到终端显示了启动过程,启动完成后,我们就可以用 SSH 登录虚拟机了,剩下的步骤就是在虚拟机里配置你要运行的各种环境和参数了

  

  

  退出

  

  status 获取虚拟机状态

  

  halt 关闭虚拟机

  

  

  destroy 销毁当前虚拟机

  不演示了…2.4 其他设置

  Vagrant 初始化成功后,会在初始化的目录里生成一个Vagrantfile的配置文件,可以修改配置文件进行个性化的定制

  

  

  Vagrant 默认是使用端口映射方式将虚拟机的端口映射本地从而实现类似http://localhost:80这种访问方式,这种方式比较麻烦,新开和修改端口的时候都得编辑。

  相比较而言,host-only 模式显得方便多了

  打开Vagrantfile,将下面这行的注释去掉(移除#)并保存:

  config.vm.network :private_network, ip: 192.168.33.10

  重启虚拟机,这样我们就能用 192.168.33.10 访问这台机器了,你可以把 IP 改成其他地址,只要不产生冲突就行。

Mac OS 下安装 Vagrant的更多相关文章

  1. wget Mac OS 下安装

    wget是一个从网络上自动下载文件的自由工具,支持通过HTTP.HTTPS.FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理. 下面介绍如何在Mac OS 下安装Wget 下载最新版的 ...

  2. 在Mac OS上安装Vagrant和Docker的教程

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/128.html?1455808640 当听到很多人在说Docker是多么多 ...

  3. Mac os下安装pycurl

    今天在Mac OS 10.9.2下安装pycurl时候失败,出现以下问题 Using curl-config (libcurl 7.30.0) clang: error: unknown argume ...

  4. 关于在Mac OS下安装npm与cnpm的ERR! Darwin 15.0.0解决办法

    mac os安装好了很久了,不过没怎么用,昨天想要体验一下大神们推荐的黑苹果系统用起来怎么样(关于安装黑苹果的可以到我的简书去看相关文章),于是乎,打开久违的vmware,看着咬一口的苹果进度图,心中 ...

  5. Mac OS 下安装mysql环境

    传送门:Mac下安装与配置MySQL   mac 上怎么重置mysql的root的密码? 一.下载mysql 进入官方下载地址:https://www.mysql.com/downloads/ 1.找 ...

  6. mac OS下 安装MySQL 5.7

    Mac OS X 下 TAR.GZ 方式安装 MySQL 5.7 与 MySQL 5.6 相比, 5.7 版本在安装时有两处不同: 1:初始化方式改变, 从scripts/mysql_install_ ...

  7. Mac OS 下安装wget

    环境:  Mac OS X 10.9.4 1 下载源码 地址: http://ftp.gnu.org/gnu/wget/wget-1.9.tar.gz 2 解压安装 tar zxvf wget-1.9 ...

  8. Mac OS 下安装rar unrar命令

    环境 操作系统:Mac OS X 10.9.4 1. 下载 地址: http://www.rarlab.com/rar/rarosx-5.2.0.tar.gz 2. 安装 解压后进入目录 MacBoo ...

  9. Mac OS 下安装和配置 maven

    1. 安装 Maven 前的必须准备 需先安装 Java 环境 下载合适的 JDK 配置 JDK 环境变量 JAVA_HOME:为 JDK 安装目录 Path:为 JDK/bin 目录 测试是否成功: ...

随机推荐

  1. mac必备软件

    LigthPaper:Markdown工具 ssh工具:ShellCraft

  2. 补课:PageRank

    最近连续听到PageRank算法,久闻其名,不闻其详,心里虚得很,今儿补补课. PageRank算法的网络资料非常全面,毕竟是将近二十年的经典算法,算法细节可以参考文末链接,这里简单说说我的理解. P ...

  3. Oracle Schema Objects——Synonyms

    Oracle Schema Objects 同义词 同义词 = 表的别名. 现在假如说有一张数据表的名称是“USER1.student”,而现在又为这张数据表起了一个“USER1”的名字,以后就可以直 ...

  4. redis cluster 集群畅谈(三) 之 水平扩容、slave自动化迁移

    上一篇http://www.cnblogs.com/qinyujie/p/9029522.html, 主要讲解 实验多master写入.读写分离.实验自动故障切换(高可用性),那么本篇我们就来聊了聊r ...

  5. linux 下创建虚拟环境 python

    virtualenv是一个可以在同一计算机中隔离多个python版本的工具.有时,两个不同的项目可能需要不同版本的python,如 python2.7 / python3.6 ,但是如果都装到一起,经 ...

  6. mysql 数据操作 单表查询 having 过滤

    SELECT 字段1,字段2... FROM 库名.表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 1.首先找到表 库.表 ...

  7. centos上yum安装nodeJS

    更新node.js各版本yum源 Node.js v8.x安装命令 curl --silent --location https://rpm.nodesource.com/setup_8.x | ba ...

  8. selenium自我手册

    (转载需注明原文地址和作者两项,否则视为非授权) 语言:python 0x00 预热 下载安装包 pip install selenium 确定所用的浏览器 支持firefox,chrome,IE,e ...

  9. java之标记型接口Cloneable

    1.克隆用途. Cloneable和Serializable一样都是标记型接口,它们内部都没有方法和属性,implements Cloneable表示该对象能被克隆,能使用Object.clone() ...

  10. Codeforces Round #534 (Div. 2) Solution

    A. Splitting into digits Solved. #include <bits/stdc++.h> using namespace std; int n; void sol ...