由 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 确认许可细节。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429