Docker:您可以拥有的 build-arg 的数量是否有限制?
Docker: Is there a limit to the number of build-arg's you can have?
我正在使用 Azure 管道并尝试构建 docker 图像,但遇到了这个错误:
"docker build" requires exactly 1 argument.
我有超过 20 个 --build-arg ENV_VAL=$(ENV_VAL)
(示例),我在想它可能会因为构建参数的数量而抛出该错误。
有人知道吗?
参见this,包括--build-arg
在内的所有选项都被视为options
而不是arg
:
flags.Var(&options.buildArgs, "build-arg", "Set build-time variables")
所以,对于 docker build
,只需要一个参数,它是 build context
,参见 this:
options.context = args[0]
而错误"docker build" requires exactly 1 argument.
来自here,表示您没有指定build context
,与--build-arg
无关。
1,可能是你的docker命令末尾缺少.
造成的
docker build -f MyDockerfile -t proj:myapp .
末尾的 .
将构建上下文指定为当前工作目录。
2,如果你传递的build-args里面有space。它也可能导致上述错误。请检查您在 build-args 中传递的 $(ENV_VAL)
是否包含 space。为了避免这种情况。您可以将变量括在引号中。见下文:
--build-arg ENV_VAL="$(ENV_VAL)"
3,如果您复制并粘贴了您的命令,请同时检查您的 docker 命令的格式。您的命令中可能有一些隐藏的格式导致了错误。
如果您在 Azure 管道中使用 docker 任务。您可以 select Build context
的路径。 Select **
将构建上下文设置为 docker 文件所在的文件夹。
我正在使用 Azure 管道并尝试构建 docker 图像,但遇到了这个错误:
"docker build" requires exactly 1 argument.
我有超过 20 个 --build-arg ENV_VAL=$(ENV_VAL)
(示例),我在想它可能会因为构建参数的数量而抛出该错误。
有人知道吗?
参见this,包括--build-arg
在内的所有选项都被视为options
而不是arg
:
flags.Var(&options.buildArgs, "build-arg", "Set build-time variables")
所以,对于 docker build
,只需要一个参数,它是 build context
,参见 this:
options.context = args[0]
而错误"docker build" requires exactly 1 argument.
来自here,表示您没有指定build context
,与--build-arg
无关。
1,可能是你的docker命令末尾缺少.
造成的
docker build -f MyDockerfile -t proj:myapp .
末尾的 .
将构建上下文指定为当前工作目录。
2,如果你传递的build-args里面有space。它也可能导致上述错误。请检查您在 build-args 中传递的 $(ENV_VAL)
是否包含 space。为了避免这种情况。您可以将变量括在引号中。见下文:
--build-arg ENV_VAL="$(ENV_VAL)"
3,如果您复制并粘贴了您的命令,请同时检查您的 docker 命令的格式。您的命令中可能有一些隐藏的格式导致了错误。
如果您在 Azure 管道中使用 docker 任务。您可以 select Build context
的路径。 Select **
将构建上下文设置为 docker 文件所在的文件夹。