Configuration Version

配置版本是vagrant 1.1+能够与vagrant 1.0保持向后兼容的机制。同时引入了引人注目的新特性和配置选项。

如果你运行了vagrant init命令,Vagrantfile文件的格式大致如下:

Vagrant.configure("") do |config|
# ...
end

上面第一行中的“2”表示配置对象配置的版本,将用于该块的配置(do和end之间的部分)。这个对象在不同版本之间可能非常不同。

目前只支持两个版本:“1”和“2”。版本1表示vagrant1.0.x中的配置。“2”表示1.1+直到2.0.x的配置。

在加载Vagrantfiles时,Vagrant会为每个版本使用正确的配置对象,并与其他配置一样正确地合并它们。
作为vagrant的一般用户,需要了解的重要一点是,在单个配置部分中,只能使用单个版本。你不能在版本1配置节中使用新的config.vm.provider配置的提供者配置。同样地,在版本2的配置部分中config.vm.forward_port也不能工作(它被重命名了)。

如果愿意,可以在同一个Vagrantfile中混合并匹配多个配置版本。如果你发现了一些有用的配置片段或想要使用的内容,那么这将非常有用。例子:

Vagrant.configure("") do |config|
# v1 configs...
end Vagrant.configure("") do |config|
# v2 configs...
end

⚠️什么是Vagrant::Config.run:

你可以在Vagrantfile文件中看到这一点。这实际上是vagrant 1.0.x的配置。在vagrant 1.1+中,它与Vagrant.configure("1")同义。

virtualbox+vagrant学习-4-Vagrantfile-2-Configuration Version的更多相关文章

  1. virtualbox+vagrant学习-2(command cli)-23-vagrant version命令

    Version 格式: vagrant version options只有 -h, --help 该命令将告诉你已安装的vagrant版本以及当前可用的vagrant最新版本. userdeMacBo ...

  2. virtualbox+vagrant学习-2(command cli)-26-vagrant share命令

    Share share命令初始化了一个vagrant share会话,允许你与世界上任何一个人共享vagrant环境,允许在几乎任何网络环境中直接在vagrant环境中进行协作. 你可以在本博客的vi ...

  3. virtualbox+vagrant学习-1-环境安装及vagrantfile的简单配置-Mac系统

    在学习docker-machine时,发现需要使用到虚拟化平台,所以选择了使用virtualBox. 然后后面发现需要使用vagrant来在mac系统中作为虚拟机管理软件,所以下面将会简述我自己学习使 ...

  4. virtualbox+vagrant学习-2(command cli)-2-vagrant cloud命令--有问题

    Cloud https://www.vagrantup.com/docs/cli/cloud.html 命令: vagrant cloud 这是用来管理与vagrant相关的任何东西的命令. 该命令的 ...

  5. virtualbox+vagrant学习-4-Vagrantfile-3-Minimum Vagrant Version

    Minimum Vagrant Version 可以在Vagrantfile中指定一组vagrant版本需求,以强制人们使用带有Vagrantfile文件的vagrant特定版本.这可以帮助解决使用带 ...

  6. virtualbox+vagrant学习-3-Vagrant Share-3-SSH Sharing

    SSH Sharing vagrant share通过向vagrant share提供--SSH标志,使远程SSH访问vagrant环境变得非常容易. 如果你想让同事访问你的SSH,以便对ops问题进 ...

  7. virtualbox+vagrant学习-3-Vagrant Share-4-Vagrant Connect

    Vagrant Connect vagrant可以共享到vagrant环境的任何或每个端口,而不仅仅是SSH和HTTP.“vagrant connect”命令为连接人员提供一个静态IP,他们可以使用该 ...

  8. virtualbox+vagrant学习-5-Boxes-2-Box Versioning

    Box Versioning 从Vagrant 1.5版本开始, box支持版本控制.这允许创建box的人将更新推送到box中,使用box的人有一个简单的工作流,用于检查更新.更新box以及查看发生了 ...

  9. virtualbox+vagrant学习-2(command cli)-8-vagrant Package命令

    Package 格式: vagrant package [options] [name|id] 这将当前正在运行的VirtualBox或Hyper-V环境打包到一个可重用的box中.如果provide ...

随机推荐

  1. manven springmvc 项目中 slf4j 的配置使用(结合log4j 或者 logback)

    前言:每个maven springmvc 都应该有日志功能,SLF4J(Simple logging facade for Java)就是一种日志规范,它提供了一个共通接口,可以适配多种不同的LOG实 ...

  2. Linux安装jdk,编写helloworld程序

    今天学习了Linux安装jdk,做个笔记记录一下. 第一步,确定Linux是32位的还是64位的,然后到oracle官网上下载对应版本的jdk,一般下载.tar.gz文件.查看Linux的版本的命令是 ...

  3. 聊聊MyBatis缓存机制【美团-推荐】

    聊聊MyBatis缓存机制 2018年01月19日 作者: 凯伦 文章链接 18778字 38分钟阅读 前言 MyBatis是常见的Java数据库访问层框架.在日常工作中,开发人员多数情况下是使用My ...

  4. html基础-html简介-第一个网页(1)

    今天刚刚开通博客园,把我最近整理的html/css来说一下,对于初学者还是有一定的帮助. 一.先来为大家简单普及以下html (1).html英文即:hypertext markup language ...

  5. python之迭代

    1.何为迭代: 对于给定list或者tuple,通过for循环来遍历这个list或tuple,这种遍历我们称之为迭代(Iteration). 2.python中利用for...in语句来完成迭代语句: ...

  6. 怎么配置eclipse的联想功能

    第一步:打开Eclipse,windows下,打开“window”→“Preferences” :mac下,打开“偏好设置”. 第二步:选择“Java”,展开,“Editor”,选择“Content ...

  7. Android自定义View探索—生命周期

    Activity代码: public class FiveActivity extends AppCompatActivity { private MyView myView; @Override p ...

  8. Eclipse 下载、安装、取消自动更新、设置编码、关联Tomcat

    1.下载 (1)安装jdk 如果进行web开发,下载java se 版本的jdk即可,不需要像安装 java se 一样安装java ee(里面大多是接口和抽象类).关于java ee的依赖问题有两种 ...

  9. Nested Prefab Mode 嵌套预制体 保存问题 Dirty

    Unity2018.3 Nested Prefab Mode 嵌套预制体 Unity2018.3开始,新增了一个Prefab Mode,俗称嵌套预制体,在Prefab里套Prefab.实际应用中多少会 ...

  10. redis mysql验证 redis_mysql_check.py

    # coding:utf-8 import pymysql import redis import sys def con_mysql(sql): db = pymysql.connect(host= ...