
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
** 注意 **:这是https://hub.docker.com/_/ibmjava%E7%9A%84%E2%80%9C%E7%89%B9%E5%AE%9A%E6%9E%B6%E6%9E%84%E2%80%9D%E4%BB%93%E5%BA%93%EF%BC%8C%E7%94%A8%E4%BA%8E%60ppc64le%60%E6%9E%B6%E6%9E%84%E6%9E%84%E5%BB%BA%E2%80%94%E2%80%94%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%E5%8F%82%E8%A7%81%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8F%E6%96%87%E6%A1%A3%E4%B8%AD%E7%9A%84%E2%80%9Chttps://github.com/docker-library/official-images#architectures-other-than-amd64%E2%80%9D%E5%8F%8A%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8FFAQ%E4%B8%AD%E7%9A%84%E2%80%9Chttps://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E2%80%9D%E3%80%82
-** 维护者 **:
https://github.com/ibmruntimes/ci.docker
-** 获取帮助 **:
IBM Java运行时和SDK的developerWorks论坛
Dockerfile链接https://github.com/ibmruntimes/ci.docker/blob/c02f788be741734c7c5aa45832f63a700bae3707/ibmjava/8/jre/ubuntu/Dockerfile
https://github.com/ibmruntimes/ci.docker/blob/c02f788be741734c7c5aa45832f63a700bae3707/ibmjava/8/sfj/ubuntu/Dockerfile
https://github.com/ibmruntimes/ci.docker/blob/c02f788be741734c7c5aa45832f63a700bae3707/ibmjava/8/sdk/ubuntu/Dockerfile
-** 问题反馈 **:
https://github.com/ibmruntimes/ci.docker/issues%EF%BC%9B%E6%95%85%E9%9A%9C%E6%8E%92%E9%99%A4%E5%8F%82%E8%A7%81How Do I ...?页面
-** 支持的架构 **:(https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/ibmjava/%E3%80%81https://hub.docker.com/r/ppc64le/ibmjava/%E3%80%81https://hub.docker.com/r/s390x/ibmjava/
-** 镜像 artifact 详情 **:
https://github.com/docker-library/repo-info/blob/master/repos/ibmjava%EF%BC%88https://github.com/docker-library/repo-info/commits/master/repos/ibmjava%EF%BC%89
(镜像元数据、传输大小等)
-** 镜像更新 **:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fibmjava
https://github.com/docker-library/official-images/blob/master/library/ibmjava%EF%BC%88https://github.com/docker-library/official-images/commits/master/library/ibmjava%EF%BC%89
-** 本文档来源 **:
https://github.com/docker-library/docs/tree/master/ibmjava%EF%BC%88https://github.com/docker-library/docs/commits/master/ibmjava%EF%BC%89
本仓库镜像包含IBM® SDK, Java™ Technology Edition。有关最新版本及新特性,参见developerWorks上的sdk8和jdk11。使用本镜像的限制参见许可部分。有关IBM® SDK, Java™ Technology Edition的更多信息、API文档及教程、实践指南和IBM Cloud中的Java使用方法,参见IBM developerWorks。
Java及所有基于Java的商标和徽标是Oracle和/或其关联公司的商标或注册商标。
Eclipse OpenJ9是高性能、可扩展的Java虚拟机(JVM)实现,凝聚了数百人年的开发 effort。由IBM贡献给Eclipse项目,OpenJ9 JVM是IBM SDK, Java Technology Edition产品的核心组件,后者是许多IBM企业软件产品的基础。Eclipse基金会对OpenJ9的持续开发确保了更广泛的协作、创新,并为下一代Java应用提供了影响OpenJ9开发的机会。Eclipse OpenJ9 Docker镜像可通过AdoptOpenJDK获取,详见https://hub.docker.com/u/adoptopenjdk/%E3%80%82
本仓库提供三种Docker镜像:软件开发工具包(SDK)、Java运行时环境(JRE)及小内存占用JRE(SFJ)。这些镜像可用作构建自定义镜像的基础,用于运行应用。
小内存占用JRE(SFJ)专为希望开发和部署云原生Java应用的Web开发者设计。移除了云环境中不需要的Java工具和功能(如Java控制面板),仅保留核心必要功能,显著减少磁盘和内存占用。
若关注镜像总体大小,可考虑使用Alpine Linux。Alpine Linux是基于musl libc和Busybox的精简Linux版本,其https://hub.docker.com/_/alpine/%E5%A4%A7%E5%B0%8F%E7%BA%A65 MB。因其极小的体积和精简的已安装包,***面更小,安全性更高。IBM SDK依赖gnu glibc,源码参见https://github.com/sgerrand/docker-glibc-builder/releases/%E3%80%82%E5%AE%89%E8%A3%85%E6%AD%A4%E5%BA%93%E4%BC%9A%E4%BD%BF%E9%95%9C%E5%83%8F%E5%A4%A7%E5%B0%8F%E5%A2%9E%E5%8A%A0%E7%BA%A68 MB。下表比较JRE版本8.0-3.10的Docker镜像大小:
| JRE | JRE | SFJ | SFJ |
|---|---|---|---|
| Ubuntu | Alpine | Ubuntu | Alpine |
| 305 MB | 184 MB | 220 MB | 101 MB |
注意:Alpine Linux不是IBM® SDK, Java™ Technology Edition的官方支持操作系统。
现已提供以下架构的Docker镜像:
ibmjava支持多架构,因此下文命令在所有支持的架构上均适用,无需在镜像名前添加架构前缀(自动处理)。
使用JRE镜像运行预构建JAR文件,示例Dockerfile:
dockerfileFROM ppc64le/ibmjava:jre RUN mkdir /opt/app COPY japp.jar /opt/app CMD ["java", "-jar", "/opt/app/japp.jar"]
构建并运行Docker镜像:
consoledocker build -t japp . docker run -it --rm japp
若需将JAR文件放在主机文件系统而非容器内,可通过挂载主机路径到容器:
dockerfileFROM ppc64le/ibmjava:jre CMD ["java", "-jar", "/opt/app/japp.jar"]
consoledocker build -t japp . docker run -it -v /path/on/host/system/jars:/opt/app japp
IBM SDK, Java™ Technology Edition提供类数据共享功能。该机制支持同一主机上多个Java虚拟机(JVM)之间透明动态共享数据,减少每个JVM实例的物理内存占用,并通过提供部分验证的类和预加载类提升JVM启动速度。
要在不同容器的JVM间启用类数据共享,需通过主机或数据卷容器共享公共位置。启用后,类数据共享会在公共位置创建命名“类缓存”(内存映射文件)。通过向JVM传递-Xshareclasses选项启用此功能,示例Dockerfile:
dockerfileFROM ppc64le/ibmjava:jre RUN mkdir /opt/shareclasses RUN mkdir /opt/app COPY japp.jar /opt/app CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses", "-jar", "/opt/app/japp.jar"]
cacheDir子选项指定类缓存位置(如/opt/shareclasses)。通过主机共享时,需将主机路径挂载到容器中JVM期望的类缓存位置:
consoledocker build -t japp . docker run -it -v /path/on/host/shareclasses/dir:/opt/shareclasses japp
通过数据卷容器共享时,创建命名数据卷容器共享卷:
consoledocker create -v /opt/shareclasses --name classcache japp /bin/true
使用--volumes-from标志挂载共享卷启动JVM容器:
consoledocker run -it --volumes-from classcache japp
参见https://hub.docker.com/_/websphere-liberty/%EF%BC%8C%E5%85%B6%E5%9F%BA%E4%BA%8E%E6%AD%A4IBM Java Docker镜像构建。
Dockerfile及相关脚本采用Apache License 2.0许可。
镜像中安装产品的许可:
与所有Docker镜像一样,本镜像可能包含其他软件,这些软件可能采用其他许可(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
可在https://github.com/docker-library/repo-info/tree/master/repos/ibmjava%E4%B8%AD%E6%89%BE%E5%88%B0%E4%B8%80%E4%BA%9B%E8%87%AA%E5%8A%A8%E6%A3%80%E6%B5%8B%E5%88%B0%E7%9A%84%E9%A2%9D%E5%A4%96%E8%AE%B8%E5%8F%AF%E4%BF%A1%E6%81%AF%E3%80%82
对于任何预构建镜像的使用,镜像用户有责任确保对本镜像的任何使用符合其中包含的所有软件的相关许可。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 ppc64le/ibmjava 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: