如何将命令行参数传递给docker-compose run?

时间:2019-03-09 12:57:34

标签: bash docker docker-compose

我正在尝试将参数传递给docker-compose运行的基础命令,但是我不确定如何执行。

这是我的非docker命令的样子:

npm run test:watch -- --verbose --match="matching test name"

--verbose --match="matching test name"传递给测试跑步者。

现在,我想在docker中运行测试,但无法正常工作:

docker-compose run test-service-name -- --verbose --match="matching test name"

这是可能的还是我应该怎么做?

1 个答案:

答案 0 :(得分:1)

docker-compose run会将-- --verbose --match="matching test name"解释为命令和参数

Usage:
    run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] [-l KEY=VALUE...]
        SERVICE [COMMAND] [ARGS...]

您应该将命令和所有参数放在cli

docker-compose run test-service-name npm run test:watch --verbose --match="matching test name"

docker-compose用于简化而不是使事情复杂化,为此,您可以使用命令在docker-compose.yml文件中永久定义它

command: npm run test:watch --verbose --match="matching test name"

来源:https://docs.docker.com/compose/compose-file/#command