专属域名
文档搜索
提交工单
轩辕助手
Run助手
返回顶部
快速返回页面顶部
收起
收起工具栏

ibmjava Docker 镜像 - 轩辕镜像

镜像简介

library/ibmjava 是 IBM 官方提供的 IBM SDK, Java Technology Edition Docker 镜像,基于 Eclipse OpenJ9 高性能 JVM 构建,是 OpenJDK 的企业级分发版本。该镜像核心支持 Java 8(长期支持版本),同时兼容 Java 11(详见官方文档),提供 SDK(开发工具包)、JRE(运行时环境)、SFJ(轻量版JRE)三种变体,适配 Ubuntu(兼容性强)与 Alpine(轻量)基础镜像,覆盖 amd64、ppc64le、s390x 多架构,适用于企业级 Java 应用(如 WebSphere 服务、微服务、云原生应用)的开发与部署,尤其擅长高并发、低内存占用场景。

镜像统计信息

收藏数: 133

下载次数: 13293594

状态: active

发布者: library

类型: 镜像

ibmjava
library/ibmjava
library/ibmjava 是 IBM 官方提供的 IBM SDK, Java Technology Edition Docker 镜像,基于 Eclipse OpenJ9 高性能 JVM 构建,是 OpenJDK 的企业级分发版本。该镜像核心支持 Java 8(长期支持版本),同时兼容 Java 11(详见官方文档),提供 SDK(开发工具包)、JRE(运行时环境)、SFJ(轻量版JRE)三种变体,适配 Ubuntu(兼容性强)与 Alpine(轻量)基础镜像,覆盖 amd64、ppc64le、s390x 多架构,适用于企业级 Java 应用(如 WebSphere 服务、微服务、云原生应用)的开发与部署,尤其擅长高并发、低内存占用场景。
133 收藏0 次下载activelibrary镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

IBM Java SDK Docker 镜像使用指南

快速参考

维护方

由 IBM Runtime Technologies 官方团队维护。

帮助渠道

可通过 IBM developerWorks 论坛获取 IBM Java 运行时与 SDK 相关支持。

支持的标签及对应 Dockerfile 链接

镜像标签聚焦 Java 8 版本,核心标签及功能如下(无额外版本后缀时默认基于 Ubuntu 基础镜像):

  • 8-jre、jre、8、latest: Java 8 运行时环境(含完整类库,无编译器),基于 Ubuntu,适用于生产环境运行已编译 Java 应用
  • 8-sfj、sfj: Java 8 轻量版 JRE(移除云环境非必需组件),基于 Ubuntu/Alpine,适用于云原生、轻量容器场景(低内存/磁盘需求)
  • 8-sdk、sdk: Java 8 开发工具包(含编译器 javac、调试工具),基于 Ubuntu,适用于 Java 应用开发、编译构建
问题反馈地址

IBM Java GitHub 仓库:[***] 可参考官方 How Do I ...? 页面)

支持的架构

amd64(x86-64)、ppc64le(PowerPC 64 位小端序)、s390x(IBM Z 系列服务器),支持多架构自动适配(无需手动添加架构前缀)。

镜像详情

包含元数据、传输大小等信息,可查看 repo-info 仓库的 repos/ibmjava/ 目录(历史记录)。

镜像更新
  • 跟踪更新:official-images 仓库的 library/ibmjava 标签
  • 更新记录:official-images 仓库的 library/ibmjava 文件(历史记录)
本文档来源

docs 仓库的 ibmjava/ 目录(历史记录)

什么是 library/ibmjava

library/ibmjava 是 IBM 官方推出的 Java 运行时与开发工具包容器化版本,核心特性如下:

  1. 底层 JVM 优势:基于 Eclipse OpenJ9 JVM(由 IBM 贡献至 Eclipse 基金会),具备低内存占用(比传统 HotSpot JVM 节省 30%+ 内存)、快速启动(启动时间缩短 50%+)、类数据共享(Class Data Sharing)等企业级特性,适合大规模容器集群与微服务场景

  2. 三种核心变体:

    • SDK(Software Developers Kit):含 Java 编译器(javac)、调试工具(jdb)及完整类库,满足开发与构建需求
    • JRE(Java Runtime Environment):仅含运行时组件,无编译器,体积小于 SDK,适合生产环境运行已编译应用
    • SFJ(Small Footprint JRE):轻量版 JRE,移除云环境非必需组件(如 Java 控制面板),磁盘与内存占用进一步降低,专为云原生应用设计
  3. 基础镜像适配:

    • Ubuntu 基础:默认选项,基于 glibc 库,兼容性强,支持通过 apt 安装额外依赖
    • Alpine 基础:非 IBM 官方支持的操作系统,但体积极轻(如 SFJ 镜像仅 101MB,比 Ubuntu 版小 50%+),需额外安装 glibc(IBM SDK 依赖)
  4. 生态兼容性:是 IBM WebSphere-Liberty 应用服务器的基础镜像,可无缝运行 SAP、IBM 自研企业应用及第三方 Java 框架(如 Spring Boot、MyBatis)

如何使用本镜像

场景 1:基础场景——运行预编译 JAR 包

使用 8-jre 变体(生产环境推荐),将 JAR 包嵌入镜像并运行:

dockerfile
# 选择 Java 8 JRE 镜像(Ubuntu 基础,兼容性强)
FROM library/ibmjava:8-jre

# 创建应用目录(避免权限冲突,使用非 root 用户)
RUN mkdir -p /opt/app && chown 1001:1001 /opt/app
USER 1001

# 复制预编译的 JAR 包到容器
COPY --chown=1001:1001 app.jar /opt/app/

# 启动命令(可添加 JVM 参数优化,如限制堆内存)
CMD ["java", "-Xmx512m", "-jar", "/opt/app/app.jar"]

构建并运行:

bash
# 构建镜像(标签为 ibmjava-app)
docker build -t ibmjava-app .

# 交互式运行,退出时自动删除容器
docker run -it --rm -p 8080:8080 ibmjava-app
场景 2:挂载主机目录——避免 JAR 包嵌入镜像

若 JAR 包需频繁更新,可挂载主机目录到容器,无需重新构建镜像:

dockerfile
# 选择 Java 8 SFJ 变体(轻量,适合云环境)
FROM library/ibmjava:8-sfj

# 直接使用默认用户,指定 JAR 包路径(从主机挂载)
CMD ["java", "-jar", "/opt/app/app.jar"]

构建并运行(挂载主机 ./jars 目录到容器 /opt/app):

bash
docker build -t ibmjava-sfj-app .

# 挂载主机目录,实时读取最新 JAR 包
docker run -it --rm -v $(pwd)/jars:/opt/app -p 8080:8080 ibmjava-sfj-app
场景 3:启用类数据共享(CDS)——优化多容器内存占用

利用 IBM SDK 独有的类数据共享特性,实现多容器间 JVM 类数据共享,降低整体内存消耗:

dockerfile
# 选择 Java 8 JRE 镜像
FROM library/ibmjava:8-jre

# 创建类数据共享目录与应用目录
RUN mkdir -p /opt/shareclasses /opt/app && chown 1001:1001 /opt/shareclasses /opt/app
USER 1001

# 复制 JAR 包
COPY --chown=1001:1001 app.jar /opt/app/

# 启动命令:启用类数据共享,指定缓存目录
CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses", "-jar", "/opt/app/app.jar"]

构建并通过数据卷共享类缓存:

bash
# 1. 创建命名数据卷(存储类缓存,跨容器共享)
docker volume create ibmjava-cds-volume

# 2. 构建镜像
docker build -t ibmjava-cds-app .

# 3. 启动多个容器,共享同一类缓存卷
docker run -d -v ibmjava-cds-volume:/opt/shareclasses -p 8081:8080 ibmjava-cds-app
docker run -d -v ibmjava-cds-volume:/opt/shareclasses -p 8082:8080 ibmjava-cds-app

效果:第二个及后续容器启动时间缩短 30%+,每个容器内存占用减少 20%+(依赖类缓存命中率)。

镜像变体说明

8-sdk

  • 核心特点:含 javac 编译器、调试工具、完整类库
  • 基础镜像支持:Ubuntu
  • 适用场景:Java 应用开发、编译构建、需调试的场景

8-jre

  • 核心特点:仅含运行时组件,无编译器,体积小于 SDK
  • 基础镜像支持:Ubuntu
  • 适用场景:生产环境运行已编译应用(兼容性优先)

8-sfj

  • 核心特点:轻量版 JRE,移除云环境非必需组件
  • 基础镜像支持:Ubuntu/Alpine
  • 适用场景:云原生、边缘计算场景(低内存/磁盘需求)

配置说明

1. 核心环境变量
  • JAVA_HOME: /opt/ibm/java/jre(Java 运行时根目录,8-sdk 变体为 /opt/ibm/java)
  • PATH: ${JAVA_HOME}/bin:${PATH}(包含 Java 二进制目录,可直接执行 java/javac(SDK 变体))
2. 关键 JVM 参数(IBM 特色)
  • -Xshareclasses:cacheDir=路径: 启用类数据共享,指定缓存目录,适用于多容器部署、需降低内存占用的场景
  • -Xmx大小: 限制 JVM 最大堆内存(如 -Xmx1g),避免容器内存溢出
  • -Xquickstart: 启用快速启动模式(OpenJ9 特性),适用于短生命周期应用(如 Serverless 函数)

注意事项

版本选择
  • 镜像核心支持 Java 8,Java 11 相关文档与镜像可参考 IBM developerWorks 页面
  • 生产环境优先选择 8-jre(兼容性强)或 8-sfj(轻量),避免使用 8-sdk(含开发工具,体积大)
Alpine 基础镜像限制
  • Alpine 不是 IBM 官方支持的操作系统,需手动安装 glibc(IBM SDK 依赖),可通过 apk add gcompat 或挂载主机 glibc 库解决依赖问题
  • 若应用依赖 libfontconfig 等系统库,建议优先选择 Ubuntu 基础镜像
多架构自动适配
  • 镜像支持多架构(amd64/ppc64le/s390x),无需添加架构前缀(如 ppc64le/ibmjava),Docker 会自动拉取匹配宿主机架构的镜像
安全更新
  • 定期拉取最新镜像,IBM 会同步 OpenJ9 与 OpenJDK 的安全补丁(如 Log4j、序列化漏洞修复)
  • 生产环境建议通过镜像扫描工具(如 Trivy、Clair)检查基础镜像与 IBM SDK 的潜在风险
权限管理
  • Ubuntu 基础镜像默认包含 1001 非 root 用户,建议使用该用户运行应用(避免 root 权限泄露风险)
  • 挂载主机目录时,需确保宿主机目录权限与容器用户 UID(1001)匹配(如 chown -R 1001:1001 ./jars)

许可信息

  • Dockerfile 及关联脚本:遵循 Apache License 2.0 许可协议
  • IBM SDK, Java Technology Edition:
    • Java 8:遵循 International License Agreement for Non-Warranted Programs
    • Java 11:遵循相同许可协议,详情见 IBM developerWorks 页面
  • 基础镜像软件:Ubuntu/Alpine 镜像中包含的组件(如 Bash、musl)遵循各自开源许可(如 MIT、Apache)

使用前请确保遵守所有包含软件的许可条款,商业场景需联系 IBM 确认许可细节。

相关 Docker 镜像推荐

以下是 ibmjava 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:

  • library/openjdk Docker 镜像说明
  • library/eclipse-temurin Docker 镜像说明
  • library/ibm-semeru-runtimes Docker 镜像说明(IBM Semeru OpenJ9 运行时)

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。

国内拉取方式

docker pull docker.xuanyuan.run/ibmjava:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

官方拉取方式

docker pull ibmjava:<标签>

相关镜像推荐

ibmcom/ibmjava logo
ibmcom/ibmjava
by ibmcom
IBM官方提供的Java技术版SDK Docker镜像,包含Java运行环境,支持Java应用的开发与部署,适用于需要IBM Java SDK的企业级场景。
211M+ pulls
上次更新:7 年前
s390x/ibmjava logo
s390x/ibmjava
by s390x
IBM官方Java技术版SDK的Docker镜像,用于提供Java应用开发与运行环境。
2100K+ pulls
上次更新:1 个月前
amd64/ibmjava logo
amd64/ibmjava
by amd64
IBM官方Java技术版SDK Docker镜像,提供Java开发与运行环境。
100K+ pulls
上次更新:1 个月前
ppc64le/ibmjava logo
ppc64le/ibmjava
by ppc64le
IBM® SDK, Java™ Technology Edition官方Docker镜像,提供SDK、JRE及小内存占用JRE (SFJ),适用于开发和部署Java应用,支持多架构,基于Ubuntu构建。
3100K+ pulls
上次更新:1 个月前
查看更多 ibmjava 相关镜像

用户好评

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

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

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

用户评价详情

oldzhang - 运维工程师

Linux服务器

5

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

Nana - 后端开发

Mac桌面

4.9

配置Docker镜像源后,拉取速度快了数倍,开发体验提升明显。

Qiang - 平台研发

K8s集群

5

轩辕镜像在K8s集群中表现很稳定,容器部署速度明显加快。

小敏 - 测试工程师

Windows桌面

4.8

Docker镜像下载不再超时,测试环境搭建更加高效。

晨曦 - DevOps工程师

宝塔面板

5

配置简单,Docker镜像源稳定,适合快速部署环境。

阿峰 - 资深开发

群晖NAS

5

在群晖NAS上配置后,镜像下载速度飞快,非常适合家庭实验环境。

俊仔 - 后端工程师

飞牛NAS

4.9

Docker访问让容器搭建顺畅无比,再也不用等待漫长的下载。

Lily - 测试经理

Linux服务器

4.8

镜像源覆盖面广,更新及时,团队一致反馈体验不错。

浩子 - 云平台工程师

Podman容器

5

使用轩辕镜像后,Podman拉取镜像稳定无比,生产环境可靠。

Kai - 运维主管

爱快路由

5

爱快系统下配置访问服务,Docker镜像拉取速度提升非常大。

翔子 - 安全工程师

Linux服务器

4.9

镜像源稳定性高,安全合规,Docker拉取无忧。

亮哥 - 架构师

K8s containerd

5

大规模K8s集群下镜像效果显著,节省了大量时间。

慧慧 - 平台开发

Docker Compose

4.9

配置Compose镜像后,整体构建速度更快了。

Tina - 技术支持

Windows桌面

4.8

配置简单,镜像拉取稳定,适合日常开发环境。

宇哥 - DevOps Leader

极空间NAS

5

在极空间NAS上使用Docker访问,体验流畅稳定。

小静 - 数据工程师

Linux服务器

4.9

Docker镜像源下载速度快,大数据环境搭建轻松完成。

磊子 - SRE

宝塔面板

5

使用轩辕镜像后,CI/CD流程整体快了很多,值得推荐。

阿Yang - 前端开发

Mac桌面

4.9

国内网络环境下,Docker访问非常给力,前端环境轻松搭建。

Docker迷 - 架构师

威联通NAS

5

威联通NAS下配置镜像后,Docker体验比官方源好很多。

方宇 - 系统工程师

绿联NAS

5

绿联NAS支持访问配置,Docker镜像下载快且稳定。

常见问题

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

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

轩辕镜像免费版与专业版有分别支持哪些镜像?

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

流量耗尽错误提示

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

410 错误问题

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

manifest unknown 错误

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

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

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

查看全部问题→

轩辕镜像配置使用手册

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

登录仓库拉取

通过 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 镜像访问常见问题解答 或 提交工单

轩辕镜像
镜像详情
...
library/ibmjava
官方博客Docker 镜像使用技巧与技术博客热门镜像查看热门 Docker 镜像推荐提交工单
轩辕镜像 · 专业版提供 SLA 级可用性指标 · 免费版为公共服务,可能存在不可用情况。请提交工单获取在线技术支持,欢迎加入官方QQ群:13763429 进行技术交流。
面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何内容。
轩辕镜像 · 专业版提供 SLA 级可用性指标 · 免费版为公共服务,可能存在不可用情况。请提交工单获取在线技术支持,欢迎加入官方QQ群: 进行技术交流。
面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何内容。
商务:17300950906
©2024-2025 源码跳动
商务合作电话:17300950906Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像官方专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429