小编典典

Jenkins管道docker.build()给出错误““ docker build”仅需要1个参数”

jenkins

有了这个最小的Jenkins Pipeline脚本

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

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

“ docker build”仅需要1个参数。

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

build(image[, args])

运行docker build以从当前目录中的Dockerfile创建并标记指定的图像。可以添加其他arg,例如'-f Dockerfile.other --pull --build-arg http_proxy=http://192.168.1.1:3128 .'。像docker
build一样,args必须以build上下文结尾。返回生成的Image对象。在构建中记录FROM指纹。

这是怎么回事?


阅读 292

收藏
2020-07-25

共1个答案

小编典典

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

如果您未指定构建上下文(如以上文档中所述),则Docker会出现此错误。

解决方法只是.按照示例将其添加到args参数的末尾,例如:

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