专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

logdna/build-images Docker 镜像 - 轩辕镜像

build-images
logdna/build-images
包含构建工具的Docker镜像,提供预配置的构建环境,支持软件开发中的构建任务。
0 次下载activelogdna镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

构建工具Docker镜像

镜像概述和主要用途

本Docker镜像包含预配置的构建工具集合,旨在提供标准化、隔离的构建环境,消除因开发/构建环境差异导致的兼容性问题。镜像基于轻量级基础镜像构建,集成多种主流构建工具,适用于各类软件开发项目的构建流程。

主要用途:

  • 提供统一的构建工具链,确保团队成员及CI/CD系统使用一致的工具版本
  • 简化项目构建环境配置,减少环境依赖问题排查时间
  • 支持本地开发与自动化构建流程(如Jenkins、GitHub Actions等)的环境一致性

核心功能和特性

  • 多工具集成:内置主流构建工具,包括但不限于:
    • Java构建工具:Maven、Gradle
    • JavaScript/TypeScript构建工具:npm、yarn、pnpm
    • 编译型语言工具:GCC、Clang、Make、CMake
    • 版本控制工具:Git
    • 辅助工具:curl、wget、jq
  • 版本可定制:支持通过环境变量指定部分工具的具体版本(如MAVEN_VERSION、NODE_VERSION)
  • 轻量级设计:基于Alpine Linux或Debian Slim基础镜像,平衡工具完整性与镜像体积
  • 环境隔离:通过容器化方式隔离构建过程,避免对宿主机环境造成污染
  • 持久化支持:支持挂载宿主机目录至容器内工作区,实现构建产物与缓存的持久化

使用场景和适用范围

使用场景
  1. CI/CD流水线构建:在Jenkins、GitLab CI、GitHub Actions等自动化平台中作为构建环境容器,执行项目编译、打包、测试等流程
  2. 本地开发环境统一:开发团队成员通过该镜像快速获得一致的构建工具链,无需在本地手动安装配置多种工具
  3. 跨平台构建验证:在不同架构(如x86_64、ARM)的宿主机上,通过镜像实现一致的构建结果验证
  4. 临时构建任务:快速启动容器执行一次性构建任务,任务完成后销毁容器,不残留环境影响
适用范围
  • 各类软件开发项目:Java、JavaScript、Python、C/C++、Go等语言的项目构建
  • 中小型团队协作:需要统一开发/构建规范的团队
  • 自动化构建流程:需要标准化环境的CI/CD系统集成

详细的使用方法和配置说明

前提条件
  • 已安装Docker Engine(20.10.x及以上版本)
  • (可选)已安装Docker Compose(用于多服务协同构建场景)
基本使用方法(docker run)
1. 启动交互式构建环境
bash
docker run -it --rm \
  -v $(pwd):/workspace \  # 挂载当前目录至容器内/workspace
  -w /workspace \         # 设置工作目录为/workspace
  --name build-env \       # 容器名称
  build-tools:latest       # 镜像名称:标签

进入容器后,可直接使用内置工具执行构建命令:

bash
# Maven项目构建
mvn clean package

# Node.js项目构建
npm install && npm run build

# CMake项目构建
mkdir build && cd build && cmake .. && make
2. 非交互式执行构建命令

适用于CI/CD自动化场景,直接在容器启动时指定构建命令:

bash
docker run --rm \
  -v $(pwd):/workspace \
  -w /workspace \
  build-tools:latest \
  sh -c "mvn clean package && cp target/*.jar /workspace/dist/"  # 执行构建并复制产物
Docker Compose配置示例

适用于需要与其他服务(如数据库、缓存)协同构建的场景,创建docker-compose.yml:

yaml
version: '3.8'

services:
  build-service:
    image: build-tools:latest
    volumes:
      - ./project:/workspace  # 挂载项目目录
      - ./m2-repo:/root/.m2   # 持久化Maven本地仓库(加速重复构建)
      - ./npm-cache:/root/.npm # 持久化npm缓存
    working_dir: /workspace
    environment:
      - MAVEN_OPTS=-Xmx1024m  # 设置Maven JVM参数
      - NODE_ENV=production    # 设置Node环境变量
    command: sh -c "npm install && mvn clean install"  # 构建命令
    depends_on:
      - db  # 依赖数据库服务时声明依赖关系

  db:
    image: mysql:8.0
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=test_db
    ports:
      - "3306:3306"

启动服务:

bash
docker-compose up --build
配置参数与环境变量
常用环境变量
环境变量名描述默认值
WORKSPACE容器内默认工作目录/workspace
MAVEN_VERSION指定Maven版本(动态版本支持)3.8.8
GRADLE_VERSION指定Gradle版本(动态版本支持)7.6.1
NODE_VERSION指定Node.js版本(动态版本支持)18.17.1
MAVEN_OPTSMaven运行时JVM参数-Xmx512m -XX:MaxPermSize=256m
GRADLE_OPTSGradle运行时JVM参数-Xmx512m
HTTP_PROXYHTTP代理设置无
HTTPS_PROXYHTTPS代理设置无
卷挂载建议
  • 项目源代码目录:挂载至/workspace,确保容器内可访问最新代码
  • 构建工具缓存目录:如Maven本地仓库(~/.m2/repository)、npm缓存(~/.npm)、Gradle缓存(~/.gradle),挂载后可加速重复构建
  • 构建产物输出目录:如项目的target/或dist/目录,挂载至宿主机指定路径以方便获取构建结果
高级配置
自定义工具版本

若需使用特定版本的构建工具,可通过构建时参数自定义(需基于Dockerfile重新构建镜像):

dockerfile
# 示例Dockerfile片段,自定义Node.js版本
FROM build-tools:base
ARG NODE_VERSION=20.9.0
RUN curl -fsSL [***]{NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.xz | tar -xJf - -C /usr/local --strip-components=1

构建命令:

bash
docker build --build-arg NODE_VERSION=20.9.0 -t build-tools:node20 .
多阶段构建集成

在项目Dockerfile中,可将本镜像作为构建阶段,提取产物至运行时镜像:

dockerfile
# 构建阶段:使用构建工具镜像执行构建
FROM build-tools:latest AS builder
WORKDIR /app
COPY . .
RUN mvn clean package -DskipTests

# 运行阶段:使用轻量级运行时镜像
FROM openjdk:17-jdk-slim
COPY --from=builder /app/target/*.jar /app/app.jar
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
查看更多 build-images 相关镜像 →
gittools/build-images logo
gittools/build-images
by gittools
用于在不同发行版和架构下测试GitVersion工具的辅助Docker镜像
1M+ pulls
上次更新:8 天前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
logdna/build-images
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
咨询镜像拉取问题请 提交工单,官方技术交流群:13763429
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429