当前位置:  开发笔记 > 运维 > 正文

如何在docker-compose中传递参数?

如何解决《如何在docker-compose中传递参数?》经验,为你挑选了3个好方法。

Docker 1.9允许将参数传递给dockerfile.请参阅链接:https://docs.docker.com/engine/reference/builder/#arg

如何在docker-compose.yml中传递相同的参数?
如果可能的话,请提供一个例子.



1> 小智..:

现在可以将docker-compose v2 +作为build对象的一部分来完成;

泊坞窗,compose.yml

version: '2'
services:
    my_image_name:
        build:
            context: . #current dir as build context
            args:
                var1: 1
                var2: c

请参阅docker撰写文档.

在上面的示例中,"var1"和"var2"将被发送到构建环境.

注意:与变量environment具有相同名称的任何env变量(使用块指定args)都将覆盖该变量.



2> Hemerson Var..:

现在docker-compose支持变量替换.

Compose使用docker-compose运行的shell环境中的变量值.例如,假设shell包含POSTGRES_VERSION=9.3并且您在docker-compose.yml文件中提供此配置:

db:
  image: "postgres:${POSTGRES_VERSION}"

docker-compose up使用此配置运行时,Compose会POSTGRES_VERSION在shell中查找环境变量并将其值替换为.对于此示例,Compose imagepostgres:9.3在运行配置之前解析to .


@Jack我来这里寻找变量替换所以这对我有帮助
@Jack我知道这不是问题的直接答案,但它可能是一种解决方法,因为`docker-compose`不支持传递参数.
构建参数是Docker 1.9的一个特性,问题是如何让Docker Compose使用它们.变量替换是无关的.

3> dnephin..:

此功能已在Compose 1.6中添加.

参考:https://docs.docker.com/compose/compose-file/#args

services:
  web:
    build:
      context: .
      args:
        FOO: foo

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有