创建第一个Vagrant虚拟环境以及工程(续集):

(8) Provisioning:

通常情况下Box只做最基本的设置,而不是一次到位的设置好所有的环境。Vagrant通常使用chef或者Puppet来做进一步的环境搭建。

回到刚才创建的index.html,我们需要安装Apache。我们下面用Puppet来完成这一设置。

1. 在项目的根目录下创建文件夹manifests,然后在该文件家中创建Puppet的配置文件default.pp,该文件内容如下:

  1. # Basic Puppet Apache manifest
  2. class apache {
  3. exec { 'apt-get update':
  4. command => '/usr/bin/apt-get update'
  5. }
  6. package { "apache2":
  7. ensure => present,
  8. }
  9. service { "apache2":
  10. ensure => running,
  11. require => Package["apache2"],
  12. }
  13. }
  14. include apache
   2. 在Vagrantfile里添加对Puppet provisioning的支持:
  1. Vagrant::Config.rundo|config|
  2. config.vm.box="base"
  3. # Enable the Puppet provisioner
  4. config.vm.provision:puppet
  5. end

(9) 运行Project

为了使puppet的配置生效,如果不重启虚机,则需要执行vagrant reload命令。

  1. $ vagrant reload
        因为没有配置port forwarding,所以你还不能从本地浏览器查看Project的输出。只能SSH到虚拟机上查看127.0.0.1的输出:

(10) 进行端口映射

修改Vagrantfile, 添加本地端口和虚机端口的映射关系, 然后执行vagrant reload, 然后你就可以通过本地浏览器来访问:http://localhost:4567.

  1. Vagrant::Config.run do |config|
  2. # Forward guest port 80 to host port 4567
  3. config.vm.forward_port 80, 4567
  4. end


vagrant 入门3的更多相关文章

  1. Vagrant入门

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

  2. [转] Vagrant入门

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

  3. vagrant 入门

    0.说明 本门所有的操作都是基于mac.windows可做相应调整,大体流程是一样的. 1.什么是vagrant 通俗来讲vagrant是一个通过命令行,来管理虚拟机的工具,vagrant本身并没有提 ...

  4. Vagrant入门二(转)

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

  5. Vagrant入门一(转)

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

  6. Vagrant 入门 - 配置

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

  7. Vagrant 入门 - box

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

  8. Vagrant入门[转]

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

  9. vagrant 入门4

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

随机推荐

  1. Is it possible to implement a Firebug-like “inspect element” DOM element highlighter with client-side JavaScript?

    Is it possible to implement a Firebug-like "inspect element" DOM element highlighter with ...

  2. [每日一题] OCP1z0-047 :2013-08-22 正则表达式---[^Ale|ax.r$]'

    正确答案:DE 一.Oracle正则表达式的相关知识点 '[^Ale|ax.r$]': ^:匹配行的开始字符 $:匹配行的结束字符 []:方括号表示指定一个匹配列表,该列表匹配列表中显示的任何表达式. ...

  3. 一步一步学c#(六):数组

    数组 简单数组 如果需要使用同一个类型的多个对象,就可以使用数组.数组是一种数据结构,它可以包含同一类型的多个元素. 数组声明:int[] myArray 使用new运算符,指定数组中元素的类型和数量 ...

  4. 多个viewpager可能产生的问题

    由于Fragment的方便性,现在很多人开始大量使用Fragment. 今天使用时遇到各问题,记录下来并分享下. 使用Fragment都会用FragmentActivity ,特别是在用到ViewPa ...

  5. 大夏VIEW使用技巧

    HDXTextView *remark=[[HDXTextView alloc] initWithFrame:CGRectMake(leftmargin-5,labbackView.top, cell ...

  6. mvc模式jsp+servel+dbutils oracle基本增删改查demo

    mvc模式jsp+servel+dbutils oracle基本增删改查demo 下载地址

  7. UVa1368/ZOJ3132 DNA Consensus String

    #include <stdio.h>#include <string.h> int main(){    int a[4][1000]; // A/C/G/T在每列中出现的次数 ...

  8. C++对象模型6--对象模型对数据访问的影响

    如何访问成员? 前面介绍了C++对象模型,下面介绍C++对象模型的对访问成员的影响.其实清楚了C++对象模型,就清楚了成员访问机制.下面分别针对数据成员和函数成员是如何访问到的,给出一个大致介绍. 对 ...

  9. 模拟JQUERY的延迟方法绑定

    模拟JQUERY的延迟方法绑定, 对于延迟方法绑定,各种语言都有不同的描述 什么回调啊,函数指针啊,委托啊,事件啊等,其实也就是那么大回事,不过用好这些特性,对于扩展和架构是非常有好处的, 好处自然就 ...

  10. codeforces 374D. Inna and Sequence 线段树

    题目链接 给m个数, n个操作, 一个数列, 初始为空.一共有3种操作, 在数列末尾加0, 加1, 或删除位置为a[i]的数, a[i]为初始给的m个数, 如果a[i]大于数列长度, 那么什么也不发生 ...