考虑我有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,容器。
答案 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}