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

如何为Jenkins流水线配置全局Docker Buildx构建器?

解决Jenkins运行器预配置Buildx构建器不生效的问题

问题原因

Docker Buildx的构建器配置是用户级的,默认存在当前用户的~/.docker/config.json文件里。你在AMI中执行docker buildx create时用的是root用户,但Jenkins流水线通常以jenkins(或其他非root用户)身份运行,两个用户的Docker配置目录不共享,导致流水线环境找不到预创建的构建器。

解决方案

1. 在AMI中以Jenkins运行用户创建Buildx构建器

修改AMI的配置脚本,先以root权限完成binfmt安装,再切换到Jenkins运行的用户(通常是jenkins)创建构建器:

# 以root权限安装binfmt(必须特权模式)
docker run --privileged --rm tonistiigi/binfmt --install all

# 切换到jenkins用户创建并使用构建器
su - jenkins -c "docker buildx create --name multi-arch-builder --use"

如果需要保留环境变量,也可以用sudo:

sudo -u jenkins -E docker buildx create --name multi-arch-builder --use

2. 确保Jenkins用户拥有Docker权限

在AMI配置中,将jenkins用户加入docker组,避免流水线执行Docker命令时出现权限问题:

usermod -aG docker jenkins

3. 验证配置

用修改后的AMI创建EC2实例后,切换到jenkins用户执行以下命令,确认构建器存在且为当前使用:

docker buildx ls

输出中应能看到multi-arch-builder,且旁边标记有*表示当前活跃。

完成以上配置后,流水线中直接执行docker buildx build ...命令即可使用预配置的多架构构建器,无需每次流水线重新创建。

内容的提问来源于stack exchange,提问作者Shawn-Ross

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 20:20:29