Jenkinspipe道docker.build()给出错误'“docker build”需要1个参数“

用这个最小的Jenkinspipe道脚本

node { docker.build("foo", "--build-arg x=y") } 

我收到一个令人困惑的错误

“docker build”只需要一个参数。

但是根据文档, docker.build()的签名是build(image[, args]) (来自Jenkins /job/dockerbug/pipeline-syntax/globals#docker

build(image[, args])

运行docker build以在当前目录中的Dockerfile中创build并标记指定的映像。 可以添加额外的参数,例如'-f Dockerfile.other --pull --build-arg http_proxy=http://192.168.1.1:3128 .' 。 像docker构build一样,参数必须以构build上下文结束。 返回生成的Image对象。 在构build中loggingFROM指纹。

这是怎么回事?

我的困惑是因为错误信息实际上来自Docker,而不是Jenkins。

如果您没有指定构build上下文(如上面的文档中所述),Docker会出现此错误。

该修补程序只是添加. 到每个例子的args参数的末尾,例如:

 node { docker.build("foo", "--build-arg x=y .") } 

请参阅docker:“build”需要1个参数。 请参阅“docker build –help”