用于 Jenkins-Agent 中的 PodTemplate 使用,Base 基础镜像。
947
“builder-base”是典型的构建基础镜像命名(builder 表示“构建器”,base 表示“基础”),其核心作用应与**“为应用镜像构建提供标准化基础环境”相关。结合 dragonzw 其他镜像的“定制化”风格(如 ubuntu-custom 是定制 Ubuntu 环境、b2i-sample 是 B2I 演示示例),dragonzw/builder-base 极有可能是一个**:
dragonzw/builder-base 镜像的核心作用(推断)封装一个 定制化的“构建基础环境”,提供预配置的构建工具集与系统优化,用于作为“父镜像”快速构建其他应用镜像(如 Java、Python、Go 应用的编译/打包镜像)。其设计聚焦于“简化构建流程”,避免每次构建都重复安装依赖。
apt/apk 源(如国内镜像加速)、时区(TZ=Asia/Shanghai)、语言(LANG=C.UTF-8)。git(克隆代码);maven/gradle(Java)、npm/yarn(Node.js)、pip(Python)、go(Go);gcc/g++(C/C++)、make、cmake;docker-cli(构建镜像)、buildah(无守护进程构建);curl/wget(下载)、vim/nano(编辑)、jq(JSON 处理)、tar/zip(压缩)。JAVA_HOME、PYTHON_PATH、GOPATH 等常用变量;entrypoint.sh),自动完成系统更新、用户创建、工具权限配置;Dockerfile 继承 dragonzw/builder-base,添加应用代码与依赖,快速生成应用镜像(如 Java 应用的编译打包);
FROM dragonzw/builder-base:22.04 # 假设基于 Ubuntu 22.04
COPY src /app/src
RUN mvn clean package -DskipTests # 使用预安装的 Maven 编译
CMD ["java", "-jar", "/app/target/app.jar"]
builder-base 镜像,避免因本地环境差异导致的“构建不一致”问题;builder-base 作为构建节点镜像,快速完成代码编译、测试、打包。非官方镜像的风险:
该镜像由个人(dragonzw)维护,稳定性、安全性不如官方构建镜像(如 openjdk:17-bullseye 用于 Java 构建、node:20-alpine 用于 Node.js 构建)。生产环境建议优先使用官方基础镜像或企业定制的基础镜像(如基于 ubuntu:22.04 自行安装工具)。
功能局限性:
“builder-base”的功能取决于维护者的定制(如预安装的工具、配置的参数),若需其他工具(如 rustc、dotnet-sdk),需通过 apt/apk 手动安装或修改镜像。
版本兼容性:
镜像标签(Tag)通常对应基础系统版本(如 20.04、22.04)或工具版本(如 maven-3.8、go-1.21),需确认与目标应用的兼容性。
dragonzw/builder-base 是一个 定制化的构建基础镜像,核心价值是将“构建工具集+系统优化”打包为标准化环境,作为“父镜像”快速构建其他应用镜像。其定位适合团队统一构建环境、CI/CD 流水线集成、简化应用镜像编译流程,但生产环境需评估定制功能与官方镜像的差异,确保可靠性。
Content type
Image
Digest
sha256:210597b24…
Size
373.2 MB
Last updated
6 months ago
docker pull dragonzw/builder-base:v3.2.0