Vagrant 手册之 Vagrantfile - 概述
Vagrantfile 的主要用途是描述用于项目的机器类型,以及如何配置和提供这些机器。
Vagrant 的每个项目运行一个 Vagrantfile,并且 Vagrantfile 应该被提交到版本控制。这允许参与该项目的其他开发人员检查代码,运行 vagrant up
。Vagrantfile 可以在 Vagrant 支持的每个平台上移植。
Vagrantfiles 的语法是 Ruby,但对 Vagrantfile 进行修改并不需要有关 Ruby 编程语言的知识,因为基本上只需要简单的变量赋值。
1. 查找路径
运行 vagrant 命令时,Vagrant 会从当前目录开始依次查找目录树,寻找第一个匹配的 Vagrantfile。假如在 /home/mitchellh/projects/foo
目录中运行 vagrant,会依次在下面的目录中查找 Vagrantfile,直到找到为止:
/home/mitchellh/projects/foo/Vagrantfile
/home/mitchellh/projects/Vagrantfile
/home/mitchellh/Vagrantfile
/home/Vagrantfile
/Vagrantfile
这个特征使得你可以在项目的任何目录中运行 vagrant。
可以设置 VAGRANT_CWD 环境变量指向某个其他路径,来改变 Vagrant 查找 Vagrantfile 文件的起始目录。
2. 加载顺序和合并
必须理解的一个重要概念是 Vagrant 如何加载 Vagrantfile。Vagrant 实际上加载了一系列的 Vagrantfile,并将合并设置。这允许具有不同特异性等级的 Vagrantfile 覆盖之前的设置。Vagrantfile 按以下所示顺序加载。注意,如果在任何步骤中未找到 Vagrantfile,Vagrant 将继续执行下一步。
- 与用于给定机器的 box 一起打包的 Vagrantfile。
- Vagrant 主目录中的 Vagrantfile(默认为
~/.vagrant.d
)。这使你可以为系统用户指定一些默认值。 - 项目目录中的 Vagrantfile。通常,你只需要修改这个 Vagrantfile。
- 多台机器覆盖,如果有多台机器的话。
- 特定 provider 的覆盖,如果有的话。
在每个级别,设置将与之前的值合并。具体细节取决于设置类型。对于大多数设置,较新的设置将覆盖较旧的设置。但是,对于诸如定义网络之类的事情,网络实际上是相互追加。默认情况下,应该假定设置将相互覆盖。如果行为不同,将在相关文档部分注明。
在每个 Vagrantfile 中,可以指定多个 Vagrant.configure
块。所有配置将按照它们定义的顺序在单个 Vagrantfile 中合并。
Vagrant 手册之 Vagrantfile - 概述的更多相关文章
- Vagrant 手册之 Vagrantfile - 最低版本
原文地址 可以在 Vagrantfile 中指定一组 Vagrant 的版本,以强制人们使用带有 Vagrantfile 的特定版本的 Vagrant.这可以帮助解决使用带有 Vagrantfile ...
- Vagrant 手册之网络 - 概述及基本用法
原文地址 - 概述 原文地址 - 基本用法 为了访问创建的 Vagrant 环境,Vagrant 为端口转发.连接公共网络.创建私有网络等功能暴露了一些高层网络选项. 高层网络选项用于提供可以跨 pr ...
- Vagrant 手册之 Vagrantfile - 机器设置 config.vm
原文地址 配置的命名空间:config.vm config.vm 中的设置修改 Vagrant 管理的机器的配置. 1. 可用的设置项 config.vm.boot_timeout Vagrant 等 ...
- Vagrant 手册之 Vagrantfile - 提示及技巧
原文地址 Vagrantfile 是一种非常灵活的配置格式.语法基于 Ruby,可以用它做很多事情.在本页使用一些提示和技巧时,请注意正确使用它们. 1. 使用循环定义虚拟机 如果你想对多机器应用稍微 ...
- Vagrant 手册之 Vagrantfile - 配置版本
原文地址 配置版本是 Vagrant 1.1+(引入了大量新功能和配置选项) 能够与 Vagrant 1.0.x Vagrantfiles 保持向后兼容的机制. 现在运行 vagrant init 时 ...
- Vagrant 手册之 box - 概述
原文地址 box 是 Vagrant 环境中使用的包格式.box 可以在 Vagrant 支持的所有平台上被任何人使用,从而提供相同的工作环境. vagrant box 工具提供了管理 box 的所有 ...
- Vagrant 手册之 Provisioning - 概述
原文地址 通过 Vagrant 中的 provisioner 配置程序,可以在使用 vagrant up 启动虚拟机时,在虚拟机上执行安装软件.更改配置等操作. box 通常是通用的,而每个项目总有自 ...
- Vagrant 手册之 Vagrantfile - Vagrant 设置 config.vagrant
原文地址 配置的命名空间:config.vagrant config.vagrant 中的设置修改 Vagrant 自身的行为. 1. 可用设置 config.vagrant.host 设置运行 Va ...
- Vagrant 手册之 Vagrantfile - SSH 设置 config.ssh
原文地址 配置的命名空间:config.ssh config.ssh 中的设置与配置 Vagrant 如何通过 SSH 访问您的计算机相关. 大多数 Vagrant 设置一样,一般使用默认设置即可,但 ...
随机推荐
- SpringBoot官方文档学习(二)使用Spring Boot构建系统
强烈建议您选择一个支持依赖关系管理并且可以使用发布到“ Maven Central”仓库的构建系统.我们建议您选择Maven或Gradle.其他构建系统(例如,Ant)也可以和Spring Boot一 ...
- Appium+Python之元素定位和操作
一.常用识别元素的工具 uiautomatorviewer:Android SDK自带的一个工具,在tools目录下 二.元素定位 1.格式:find_element_by_定位方式(va ...
- 02-CSS简介和基本选择器
# CSS为了让网页元素的样式更加丰富,也为了让网页的内容和样式能拆分开,CSS由此思想而诞生,CSS是 Cascading Style Sheets 的首字母缩写,意思是层叠样式表.有了CSS,ht ...
- .NET Core _linux sdk安装
根据官方介绍页面的步骤: 步骤1. sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/do ...
- 【记录】Git pull(拉取),push(上传)命令整理(详细)
前言:博主最近在学习git命令,因为git是一个非常好用的分布式版本管理工具,功能比svn强大,与SVN不同点是Git去中心化,每一个分支都是一个中心,并且支持本地仓库存储,像如今很多大公司都用git ...
- [Luogu2600]合并神犇(dp,贪心)
[Luogu2600]合并神犇 题目背景 loidc来到了NOI的赛场上,他在那里看到了好多神犇. 题目描述 神犇们现在正排成一排在刷题.每个神犇都有一个能力值p[i].loidc认为坐在附近的金牌爷 ...
- uboot中Kconfig架构的理解
1./u-boot-2019.07/Kconfig 是顶层Kconfig mainmenu "U-Boot $UBOOTVERSION Configuration" #这是总me ...
- 学习旧岛小程序 (1) flex 布局
css : view 相当于 div 块级元素 display 默认设置 block display:inline 设置后 设置宽度高度是无效的 要设置宽度高度 又要设置为行内元素 我们设置: (1) ...
- 阿里云ECS VSFTP上传本地文件
开始终端 购买云服务,获得公网IP,内网IP 控制台首页获得 获得终端连接密码 连接终端,输入连接密码 获得终端界面,进入终端 上传文件 ## .安装VSFTP服务器程序 yum install vs ...
- 企业级监控软件Zabbix搭建部署之zabbix在WEB页面中的配置
企业级监控软件zabbix搭建部署之zabbix在WEB页面中的配置 企业级监控软件zabbix搭建部署之zabbix在WEB页面中的配置 关于安装请看 http://www.linuxidc.com ...