
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
由 IBM Runtime Technologies 官方团队维护。
可通过 IBM developerWorks 论坛获取 IBM Java 运行时与 SDK 相关支持。
镜像标签聚焦 Java 8 版本,核心标签及功能如下(无额外版本后缀时默认基于 Ubuntu 基础镜像):
IBM Java GitHub 仓库:https://github.com/ibmjava/dockerfiles%EF%BC%88troubleshooting 可参考官方 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 docker.xuanyuan.run/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 docker.xuanyuan.run/ibmjava-app
若 JAR 包需频繁更新,可挂载主机目录到容器,无需重新构建镜像:
dockerfile# 选择 Java 8 SFJ 变体(轻量,适合云环境) FROM docker.xuanyuan.run/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 docker.xuanyuan.run/ibmjava-sfj-app
利用 IBM SDK 独有的类数据共享特性,实现多容器间 JVM 类数据共享,降低整体内存消耗:
dockerfile# 选择 Java 8 JRE 镜像 FROM docker.xuanyuan.run/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 docker.xuanyuan.run/ibmjava-cds-app docker run -d -v ibmjava-cds-volume:/opt/shareclasses -p 8082:8080 docker.xuanyuan.run/ibmjava-cds-app
效果:第二个及后续容器启动时间缩短 30%+,每个容器内存占用减少 20%+(依赖类缓存命中率)。
8-sdk
8-jre
8-sfj
使用前请确保遵守所有包含软件的许可条款,商业场景需联系 IBM 确认许可细节。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 ibmjava 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: