
本镜像基于Alpine Linux构建,集成OpenJDK运行环境,专为Spring Boot应用程序提供轻量级、高效的容器化运行方案。通过Alpine Linux的小巧体积(通常小于200MB)与OpenJDK的跨平台兼容性,实现低资源占用与快速部署,满足开发、测试及生产环境中Spring Boot应用的容器化需求。
8-jre-alpine、11-jre-alpine、17-jre-alpine),适配不同Spring Boot应用的JDK版本需求。通过docker run命令直接运行Spring Boot应用JAR文件,示例如下:
bashdocker run -d \ --name spring-boot-app \ -p 8080:8080 \ # 映射应用端口(默认8080) -v /local/path/to/app.jar:/app/app.jar \ # 挂载本地Spring Boot JAR openjdk:11-jre-alpine \ # 指定JDK 11版本(根据应用需求选择标签) java -jar /app/app.jar # 启动应用命令
支持通过环境变量调整JVM参数及应用配置,常见参数如下:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
JAVA_OPTS | JVM运行参数(如堆内存、GC策略) | -Xmx512m -Xms256m |
SPRING_PROFILES_ACTIVE | 指定Spring Boot激活的配置文件(如dev/prod) | default |
APP_JAR_PATH | 容器内应用JAR路径 | /app/app.jar |
示例:调整JVM内存与激活生产环境配置
bashdocker run -d \ --name spring-boot-prod \ -p 8080:8080 \ -v /local/app.jar:/app/app.jar \ -e JAVA_OPTS="-Xmx1024m -XX:+UseG1GC" \ # 配置1GB堆内存与G1垃圾收集器 -e SPRING_PROFILES_ACTIVE="prod" \ # 激活生产环境配置 openjdk:17-jre-alpine \ java $JAVA_OPTS -jar $APP_JAR_PATH # 使用环境变量启动应用
通过docker-compose.yml实现多容器应用编排,示例配置如下:
yamlversion: '3.8' services: spring-boot-service: image: openjdk:11-jre-alpine container_name: spring-boot-app ports: - "8080:8080" volumes: - ./target/app.jar:/app/app.jar # 挂载项目构建的JAR文件 environment: - JAVA_OPTS="-Xmx768m -XX:+UseContainerSupport" # 启用容器感知JVM参数 - SPRING_PROFILES_ACTIVE="dev" restart: unless-stopped # 异常退出后自动重启
启动命令:
bashdocker-compose up -d # 后台启动服务
如需将应用JAR打包到镜像中(避免挂载依赖),可创建如下Dockerfile:
dockerfile# 基础镜像(选择与应用匹配的JDK版本) FROM openjdk:11-jre-alpine # 设置工作目录 WORKDIR /app # 复制本地构建的Spring Boot JAR到容器 COPY target/your-spring-app.jar app.jar # 暴露应用端口 EXPOSE 8080 # 启动命令(使用环境变量配置JVM参数) CMD ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]
构建并运行自定义镜像:
bashdocker build -t my-spring-app:1.0 . # 构建镜像 docker run -d -p 8080:8080 -e JAVA_OPTS="-Xmx512m" my-spring-app:1.0 # 运行自定义镜像
镜像提供多种标签对应不同OpenJDK版本,格式与用途如下:
| 标签格式 | 说明 | 适用场景 |
|---|---|---|
{jdk-version}-jre-alpine | 仅包含JRE(Java运行时),体积最小 | 仅需运行Java应用(推荐生产环境) |
{jdk-version}-jdk-alpine | 包含JDK(Java开发工具),体积较大 | 需要编译Java代码的场景(如CI构建) |
示例标签:8-jre-alpine(JDK 8,仅JRE)、17-jdk-alpine(JDK 17,含JDK工具)。建议优先选择JRE版本以减小镜像体积,除非应用明确依赖JDK工具(如javac、jstack)。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务