You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jenkins流水线中使用docker.build()指定自定义命名的Dockerfile?

可以指定自定义Dockerfile!

当然没问题,Jenkins的Docker Pipeline插件完全支持在docker.build()中指定特定的Dockerfile,你之前的写法思路有点偏差,我来给你纠正下正确的用法:

正确语法示例

你想要实现的是命令行里的:

docker build -t api:latest -f Dockerfile-api .

对应的Jenkins Pipeline代码应该是:

def apiImage = docker.build("api:latest", "-f Dockerfile-api .")

关键说明

  • 第一个参数"api:latest"是你要构建的镜像的标签(格式为name:tag),这部分和命令行里的-t参数对应;
  • 第二个参数是传给docker build命令的额外参数集合,这里把-f Dockerfile-api和构建上下文.都放进去,完全对应命令行里的写法;
  • 如果你需要传递其他构建参数(比如--build-arg),也可以一起加到第二个参数里,比如:
    def apiImage = docker.build("api:prod", "--build-arg ENV=prod -f Dockerfile-api .")
    

针对非当前目录的Dockerfile

如果你的Dockerfile不在Jenkins工作目录的根路径,比如在./configs/Dockerfile-api,只需要调整路径即可:

def apiImage = docker.build("api:v2.0", "-f ./configs/Dockerfile-api .")

这样就能精准指定不同场景下的唯一命名Dockerfile啦!

内容的提问来源于stack exchange,提问作者demonintherough

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:22:44