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
类型: 镜像
library/ibmjava由 IBM Runtime Technologies 官方团队维护。
可通过 IBM developerWorks 论坛获取 IBM Java 运行时与 SDK 相关支持。
镜像标签聚焦 Java 8 版本,核心标签及功能如下(无额外版本后缀时默认基于 Ubuntu 基础镜像):
IBM Java GitHub 仓库:[***] 可参考官方 How Do I ...? 页面)
amd64(x86-64)、ppc64le(PowerPC 64 位小端序)、s390x(IBM Z 系列服务器),支持多架构自动适配(无需手动添加架构前缀)。
包含元数据、传输大小等信息,可查看 repo-info 仓库的 repos/ibmjava/ 目录(历史记录)。
docs 仓库的 ibmjava/ 目录(历史记录)
library/ibmjava 是 IBM 官方推出的 Java 运行时与开发工具包容器化版本,核心特性如下:
底层 JVM 优势:基于 Eclipse OpenJ9 JVM(由 IBM 贡献至 Eclipse 基金会),具备低内存占用(比传统 HotSpot JVM 节省 30%+ 内存)、快速启动(启动时间缩短 50%+)、类数据共享(Class Data Sharing)等企业级特性,适合大规模容器集群与微服务场景
三种核心变体:
基础镜像适配:
生态兼容性:是 IBM WebSphere-Liberty 应用服务器的基础镜像,可无缝运行 SAP、IBM 自研企业应用及第三方 Java 框架(如 Spring Boot、MyBatis)
使用 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
若 JAR 包需频繁更新,可挂载主机目录到容器,无需重新构建镜像:
dockerfile# 选择 Java 8 SFJ 变体(轻量,适合云环境) FROM library/ibmjava:8-sfj # 直接使用默认用户,指定 JAR 包路径(从主机挂载) CMD ["java", "-jar", "/opt/app/app.jar"]
构建并运行(挂载主机 ./jars 目录到容器 /opt/app):
bashdocker build -t ibmjava-sfj-app . # 挂载主机目录,实时读取最新 JAR 包 docker run -it --rm -v $(pwd)/jars:/opt/app -p 8080:8080 ibmjava-sfj-app
利用 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
8-jre
8-sfj
使用前请确保遵守所有包含软件的许可条款,商业场景需联系 IBM 确认许可细节。
以下是 ibmjava 相关的常用 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单