【问题标题】:Jenkins Pipeline docker.build() gives error '"docker build" requires exactly 1 argument(s)'Jenkins Pipeline docker.build() 给出错误'"docker build" 需要 1 个参数'
【发布时间】:2018-02-10 09:27:51
【问题描述】:

使用这个最小的 Jenkins 流水线脚本

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 的图像。额外的参数可能 被添加,例如'-f Dockerfile.other --pull --build-arg http_proxy=http://192.168.1.1:3128 .'。像 docker build 一样,args 必须 以构建上下文结束。返回生成的 Image 对象。 在构建中记录 FROM 指纹。

发生了什么事?

【问题讨论】:

    标签: docker jenkins jenkins-pipeline


    【解决方案1】:

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

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

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

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

    docker: "build" requires 1 argument. See 'docker build --help'

    【讨论】:

    猜你喜欢
    • 2015-05-13
    • 2023-03-16
    • 2020-09-07
    • 2021-02-06
    • 1970-01-01
    • 2017-05-06
    • 2017-09-17
    • 2020-02-25
    • 1970-01-01
    相关资源
    最近更新 更多