
alyvia/apps应用构建镜像是一个专为应用构建流程设计的Docker镜像,集成了多种常用的构建工具、依赖环境及配置,旨在标准化应用的编译、打包过程,消除"在我机器上能运行"的环境不一致问题,提高构建效率和可重复性。该镜像适用于各类应用的构建场景,支持本地开发测试与CI/CD流水线集成。
作为CI/CD流程(如Jenkins、GitLab CI、GitHub Actions)中的构建节点,执行自动化编译、打包任务,确保流水线中构建环境的一致性。
开发者无需在本地安装全套构建工具,通过容器化方式快速获取一致的构建环境,验证构建流程。
企业内部多团队、多项目可复用同一镜像,统一构建工具版本和流程规范,降低维护成本。
bashdocker run -it --rm \ -v $(pwd):/app # 挂载本地源码目录到容器内/app -e JDK_VERSION=17 # 指定JDK版本 -e BUILD_CMD="mvn clean package -DskipTests" # 指定构建命令 apps-build-image:latest
bashdocker run -it --rm \ -v $(pwd):/app \ -v npm-cache:/root/.npm # 挂载缓存卷,加速依赖安装 -e NODE_VERSION=18 \ -e BUILD_CMD="npm install && npm run build" \ apps-build-image:latest
| 环境变量名 | 说明 | 默认值 | 可选值 |
|---|---|---|---|
WORKDIR | 容器内构建工作区路径 | /app | 自定义路径(如/src) |
JDK_VERSION | Java开发工具包版本 | 11 | 8, 11, 17 |
NODE_VERSION | Node.js版本 | 16 | 16, 18 |
PYTHON_VERSION | Python版本 | 3.9 | 3.8, 3.9, 3.10, 3.11 |
BUILD_CMD | 执行的构建命令 | 空(需用户指定) | 如mvn package, npm run build |
OUTPUT_DIR | 构建产物输出目录(相对WORKDIR) | target(Java默认) | 自定义路径(如dist, build) |
| 挂载路径(容器内) | 说明 | 宿主机推荐挂载路径 |
|---|---|---|
/app | 源码目录 | 本地项目根目录($(pwd)) |
/root/.m2 | Maven依赖缓存目录 | 宿主机Maven缓存(如~/.m2) |
/root/.npm | npm依赖缓存目录 | 宿主机npm缓存(如~/.npm) |
/app/${OUTPUT_DIR} | 构建产物输出目录(可单独挂载) | 宿主机产物目录(如./dist) |
若默认配置无法满足需求,可通过以下方式扩展:
通过构建时传入--build-arg参数重新构建镜像,指定工具版本:
bashdocker build \ --build-arg MAVEN_VERSION=3.9.5 \ --build-arg GRADLE_VERSION=8.3 \ -t apps-build-image:custom .
在Dockerfile中基于基础镜像扩展,安装特定工具:
dockerfileFROM apps-build-image:latest RUN apt-get update && apt-get install -y golang-1.21
apps-build-image:v1.0),避免工具版本变更导致构建异常




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务