Docker - 将dockmens传递给使用docker组成的服务

时间:2017-07-25 08:57:38

标签: docker docker-compose

考虑我有docker-compose.yaml

my-service:
    build:
        context: my-service/.
        args:
        - http_proxy
        - https_proxy
    command: -my-some-argument 100 %CONSUMER_ARGS%
    networks:
        - custom-network
通过shell调用

docker-compose.yaml

> docker-compose up

参数my-some-argument正确传递给容器。但不知何故,环境变量%CONSUMER_ARGS%没有被适当的值替换(文字字符串%CONSUMER_ARGS%被传递给容器)。那么有没有其他方法在调用docker-compose up时将参数传递给我的容器? Dokcer在linux映像下运行windows,容器。

2 个答案:

答案 0 :(得分:2)

你可以像下面那样使用环境变量:

my-service:
    build:
        context: my-service/.
        args:
        - http_proxy
        - https_proxy
    command: -my-some-argument 100 ${CONSUMER_ARGS}
    networks:
        - custom-network

请注意${}而不是%%

此处有更多信息:https://docs.docker.com/compose/environment-variables/

答案 1 :(得分:0)

您用于环境变量替换的模板语法不正确。 使用

${ENV_PASSED_VALUE:-DEFAULT_VALUE}