首页 > 解决方案 > Docker:你可以拥有的 build-arg 的数量有限制吗?

问题描述

我正在使用 Azure 管道并尝试构建 docker 映像,但遇到此错误:

"docker build" requires exactly 1 argument.

我有超过 20 个 --build-arg ENV_VAL=$(ENV_VAL)(示例),并且正在考虑可能由于构建参数的数量而引发该错误。

有人有想法吗?

标签: azuredockerazure-devopsazure-pipelinesdocker-build

解决方案


1,这可能是由于缺少.docker 命令末尾的。

docker build -f MyDockerfile -t proj:myapp .

最后.将构建上下文指定为当前工作目录。

2,如果您传递的 build-args 中有空格。它也可能导致上述错误。请检查$(ENV_VAL)您传入的 build-args 中是否有空格。为了避免这种情况。您可以将变量括在引号中。见下文:

 --build-arg ENV_VAL="$(ENV_VAL)"

3,如果您复制并粘贴了您的命令,请同时检查您的docker命令的格式。您的命令中可能存在一些导致错误的隐藏格式。

如果您在 azure 管道中使用 docker 任务。您可以选择路径Build context。选择**以将构建上下文设置为 dockerfile 所在的文件夹。

在此处输入图像描述


推荐阅读