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

标签 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"

这可能吗,或者我应该怎么做?

最佳答案

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

关于bash - 如何将命令行参数传递给docker-compose run?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55077578/

相关文章:

docker - 如何使用域名连接到Docker容器

linux - 如何在 linux rpl 中跳过输出?

bash - 如何创建带参数的 bash 脚本?

linux - foob​​ar : command not found when running bash script

Docker 客户端无法连接到守护程序版本 1.9 : connection reset by peer

linux - Docker ENTRYPOINT在卷挂载后运行

docker - 在容器重启之前保存 docker 容器日志文件

linux - 如何在shell脚本中读取文件

windows - 如何使用 docker compose 卷挂载 windows 文件夹?

docker - docker 文件中的 "CMD ['/home/user/script.sh ']"不适用于 docker-compose