使用 docker-compose up 输入多个命令行参数

Inputting multiple command line arguments with docker-compose up

我注意到 docker-compose run 具有带有 -e 标志的命令行输入参数功能,其中 运行

docker-compose run -e ARG1="val1" -e ARG2="val2"

有效。但是,我使用的是 docker-compose up,其中不包括标志。我找到了一种包含单个变量的方法:

ARG1="val1" docker-compose up

但是如何添加多个?我试过用逗号、分号和其他分隔符,但似乎无法将多个命令行参数传递给 docker-compose。我也明白我可以将多个这样的值添加到一个 .env 文件中,但是在命令行中输入对于我的用例来说要方便得多。有什么建议吗?

语法:

VAR=value command ...

不特定于docker-compose;这只是正常的 shell 语法(用于设置仅对指定命令可见的临时环境变量)。

您可以根据需要添加任意数量的变量:

ARG1="val1" ARG2="val2" ARG3="val3" docker-compose up

这些只有在您的 docker-compose.yaml 引用特定变量时才有意义。


更好的选择是使用环境文件。您可以使用 --env-file 选项到 docker-compose 到 select 不同的环境文件,因此您可以执行以下操作:

docker-compose --env-file config1.env up

docker-compose --env-file config2.env up