vagrant特性——基于docker开发环境(docker和vagrant的结合)-3-boxes和配置
Docker Boxes
Docker provider不需要vagrant box。因此其config.vm.box设置是完全可选的。
但是,仍然可以使用并指定一个box来提供默认值。由于一个带着box的Vagrantfile是作为配置加载序列的一部分加载的,因此可以使用它来配置开发环境的基础。
但是,一般情况下,Docker provider不需要带着box。
Docker Configuration
Docker provider有一些特定于provider的配置选项,你可以设置它们。完整的参考资料如下所示。
Required必需的
在你使用Docker provider时必须要设置下面其中之一的配置:
build_dir(string):包含Dockerfile文件的目录路径image(string) :要启动的镜像,由镜像ID或其名称(如ubuntu:12.04)指定。git_repo(string) :用于构建镜像的git存储库的URL。支持拉取特定的标记、分支和修订,更多信息请参阅docker文档。
Optional可选项
常规设置:
build_args(array of strings):在使用build_dir时需要传递给docker build的额外参数。cmd(array of strings) :在容器上运行的自定义命令。例如: ["ls", "/app"].compose(boolean):如果是true,Vagrant会使用docker-compose来管理容器的生命周期和配置。默认为false。compose_configuration(Hash):用于填充docker-compose.yml文件的配置值。这个散列的值被直接合并并写入允许自定义网络和卷等非服务项的docker-compose.yml文件。create_args(array of strings):启动容器时要传递给docker run命令的其他参数。这可以用来设置没有通过Vagrantfile公开的参数。dockerfile(string):在创建目录上Dockerfile的名字,默认为“Dockerfile”env(hash) :暴露给容器的环境变量expose(array of integers) :从容器而不是主机公开的端口,对链接有用。link(method, string argument):按名称将此容器链接到另一个容器。参数的格式应该是(name:alias)。例如:docker.link(db:db)。注意,如果要链接到同一个Vagrantfile中的另一个容器,请确保在调用vagrant up命令时使用--no-parallel标志。force_host_vm(boolean):如果为true,那么即使运行Vagrant的计算机支持Linux容器,也会启动默认的主机VM。这有助于强制使用一个一致的环境来运行Docker。该值在Linux、Mac和Windows主机上默认为“false”,在其他主机上默认为“true”。其他主机上选择使用不同Docker provider或选择加入本机Docker构建的用户可以显式地将该值设置为false以禁用该行为。has_ssh(boolean):如果为true,则vagrant将使用容器支持SSH。这允许vagrant ssh工作,预配置等等。这默认值为false。host_vm_build_dir_options(hash):build_dir的同步文件夹选项,因为如果使用默认主机VM,构建目录将使用同步文件夹进行同步。name(string):容器的名称。注意,这在主机VM上的所有容器中必须是惟一的。在默认情况下,vagrant将生成一些随机名称。pull(bool) :如果为true,镜像将会在每次运行up和reload命令的时候被拉取。默认为falseports(array of strings):从容器向主机公开的端口。这些应该是host:container的格式。remains_running(boolean):如果为true,vagrant希望这个容器保持运行,并确保它在一定时间内保持运行。如果为false,则vagrant期望该容器将自动在某个点停止,并且如果看到它这样做,则不会出错。stop_timeout(integer):在向进程发送SIGTERM信号之前,在停止容器时等待的时间。vagrant_machine(string):在vagrant_vagrantfile文件中要用作主机的vagrant计算机的名称。默认值为“default”。vagrant_vagrantfile(string):到一个包含在需要时用作主机VM的vagrant_machine的Vagrantfile文件的路径。volumes(array of strings):要作为数据卷挂载道容器上的目录的列表。这些目录必须存在于Docker运行的主机中。如果你想从vagrant正在运行的主机上同步文件夹,只需使用同步文件夹。
下面是与auth相关的设置。如果设置了这些,那么vagrant将在启动容器之前登录docker,允许你从私有存储库中提取图像。
email(string):登录的邮箱username(string) :登录的用户名password(string):登录的密码auth_server(string):用于身份验证的服务器。如果没有设置,将使用Docker Hub。
vagrant特性——基于docker开发环境(docker和vagrant的结合)-3-boxes和配置的更多相关文章
- vagrant特性——基于docker开发环境(docker和vagrant的结合)-0-简介
原文https://www.hashicorp.com/blog/feature-preview-docker-based-development-environments Feature Previ ...
- vagrant打造自己的开发环境
vagrant打造自己的开发环境 缘由: 在网上看到斌哥,爽神都写了关于vagrant的博客,都在说很强大,所以很好奇这玩意怎么个强大,然后也就自己来一发玩玩看看. 真实缘由: 说实话是电脑配置太低, ...
- 使用Vagrant搭建本地python开发环境
使用Vagrant搭建本地python开发环境 关于vagrant:Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境,它使用Oracle的开源VirtualBox虚拟化系统也可以使 ...
- Windows使用Vagrant&VirtualBox搭建虚拟开发环境
Vagrant 是一款用来构建虚拟开发环境的工具 , 我们可以通过 Vagrant 封装一个 Linux 的开发环境 , 分发给团队成员 ; 成员可以在自己喜欢的桌面系统 Mac/Windows/Li ...
- flutter 项目中,开发环境、多接口域名、多分支的配置
flutter 项目中,开发环境.多接口域名.多分支的配置 开发环境:配置成多个入口文件.比如:main.dart.main_develop.dart.main_preview.dart 多域名:每个 ...
- vagrant特性——基于docker开发环境(docker和vagrant的结合)-1-基本使用
Docker vagrant提供了使用Docker作为provider(其他的provider有virtualBox.VMware\hyper-V等)的开箱即用支持.这允许你的开发环境由Docker容 ...
- vagrant特性——基于docker开发环境(docker和vagrant的结合)-2-命令
Docker Commands Docker provider公开了一些额外的vagrant命令,这些命令对于与Docker容器交互非常有用.这有助于你在vagrant之上的工作流程,这样你就可以在底 ...
- windows环境 springboot+docker开发环境搭建与hello word
1,下载安装 docker toolbox 下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ docker t ...
- 企业应用架构研究系列十九:Docker开发环境
软件行业流行这样一个说法,由于Docker 技术的成熟和该技术被广大厂商的普遍应用,成就了微服务领域的快速成长,衍生了云原生技术和公有云的进一步推广.我个人认为Dockers 技术.微服务技术.云原生 ...
随机推荐
- [android] 看博客学习Android常见的几种RuntimeException
异常分为两种: 1.编译时异常 当编译时异常抛出时,需要对其进行处理声明,否则编译不通过 2.运行时异常 编译时不检测,运行时 如果抛出,程序会立刻停止 NullPointerException 空指 ...
- java中递归实现复制多级文件夹
常见的流的用法 递归实现复制多级文件夹 FileInputStream & FileOutputStream String content = null;//用来储存解码后的byte数组 in ...
- java.lang.ExceptionInInitializerError异常
今天在开发的过程中,遇到java.lang.ExceptionInInitializerError异常,百度查了一下,顺便学习学习,做个笔记 静态初始化程序中发生意外异常的信号,抛出Exception ...
- JavaOne 2016主旨演讲畅谈Java近期及远期规划
在 JavaOne 2016 主题演讲开场,来自 Oracle 的 Java 产品管理负责人 Sharat Chander 指出 Java 盛行于个人和工作的日常生活各个领域,无论是大数据.物联网甚至 ...
- Codeforces833A
A. The Meaningless Game time limit per test:1 second memory limit per test:256 megabytes input:stand ...
- ZOJ3209(KB3-B DLX)
Treasure Map Time Limit: 2 Seconds Memory Limit: 32768 KB Your boss once had got many copies of ...
- 排序算法(2)--Insert Sorting--插入排序[2]--binary insertion sort--折半(二分)插入排序
作者QQ:1095737364 QQ群:123300273 欢迎加入! 1.基本思想 二分法插入排序的思想和直接插入一样,只是找合适的插入位置的方式不同,这里是按二分法找到合适的位置,可 ...
- JAVA中销毁session的代码
ServletActionContext.getRequest().getSession().invalidate();
- JavaSE——TCP协议网络编程(一)
实现客户端与服务端的连接: 创建TCP服务端的 ServerSocket ServerSocket :此类实现服务器套接字.服务器套接字请求通过网络传入,基于该请求执行某些操作,然后可能向请求者返回结 ...
- SD从零开始09-10
SD从零开始9 数据流(Data Flow) 根据参考创建Create with reference 可以参考之前的凭证来创建销售凭证,可以在初始画面,也可以在凭证处理过程中,通过uniform. d ...