zoukankan      html  css  js  c++  java
  • 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命令的时候被拉取。默认为false
    • ports (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。
  • 相关阅读:
    java的构造方法 java程序员
    No result defined for action cxd.action.QueryAction and result success java程序员
    大学毕业后拉开差距的真正原因 java程序员
    hibernate的回滚 java程序员
    验证码 getOutputStream() has already been called for this response异常的原因和解决方法 java程序员
    浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓 java程序员
    你平静的生活或许会在某个不可预见的时刻被彻底打碎 java程序员
    Spring配置文件中使用ref local与ref bean的区别. 在ApplicationResources.properties文件中,使用<ref bean>与<ref local>方法如下 java程序员
    poj1416Shredding Company
    poj1905Expanding Rods
  • 原文地址:https://www.cnblogs.com/wanghui-garcia/p/10179164.html
Copyright © 2011-2022 走看看