• 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。
  • 相关阅读:
    将备份中的数据插入到数据库中的具体步骤
    C#三层架构(获取中文拼音和给密码加密)
    C# 三层架构项目体会(1)
    leetcode——Best Time to Buy and Sell Stock
    leetcode——Binary Tree Maximum Path Sum
    leetcode——Valid Palindrome
    leetcode——Word Ladder II
    学习制作SLG游戏(一)
    leetcode——Maximum Gap
    cocos2d学习资源收集
  • 原文地址:https://www.cnblogs.com/wanghui-garcia/p/10179164.html
Copyright © 2020-2023  润新知