使用 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
我注意到 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