
如果你使用 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%60i386%60%E6%9E%B6%E6%9E%84%E6%9E%84%E5%BB%BA%E7%9A%84%22per-architecture%22%E4%BB%93%E5%BA%93%E2%80%94%E2%80%94%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%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%22%E9%99%A4amd64%E4%B9%8B%E5%A4%96%E7%9A%84%E6%9E%B6%E6%9E%84%EF%BC%9F%22https://github.com/docker-library/official-images#architectures-other-than-amd64%E5%92%8C%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8FFAQ%E4%B8%AD%E7%9A%84%22%E9%95%9C%E5%83%8F%E6%BA%90%E5%9C%A8Git%E4%B8%AD%E5%B7%B2%E6%9B%B4%E6%94%B9%EF%BC%8C%E7%8E%B0%E5%9C%A8%E8%AF%A5%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F%22https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E3%80%82
维护者:
https://github.com/ibmruntimes/ci.docker
获取帮助:
https://www.ibm.com/developerworks/community/forums/html/forum?id=***-0000-0000-0000-000000000367
Dockerfile链接警告:此镜像在i386架构上不受支持
提交issues的位置:
https://github.com/ibmruntimes/ci.docker/issues%EF%BC%9B%E6%9C%89%E5%85%B3%E6%95%85%E9%9A%9C%E6%8E%92%E9%99%A4%EF%BC%8C%E8%AF%B7%E5%8F%82%E8%A7%81%E6%88%91%E4%BB%AC%E7%9A%84http://www.ibm.com/developerworks/java/jdk/howdoi/%E9%A1%B5%E9%9D%A2
支持的架构:(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/
已发布镜像工件详情:
https://github.com/docker-library/repo-info/blob/master/repos/ibmjava (https://github.com/docker-library/repo-info/commits/master/repos/ibmjava)
(镜像元数据、传输大小等)
镜像更新:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fibmjava
https://github.com/docker-library/official-images/blob/master/library/ibmjava (https://github.com/docker-library/official-images/commits/master/library/ibmjava)
本描述的来源:
https://github.com/docker-library/docs/tree/master/ibmjava (https://github.com/docker-library/docs/commits/master/ibmjava)
本仓库中的镜像包含IBM® SDK, Java™技术版。有关最新版本和新增功能的更多信息,请参见https://developer.ibm.com/javasdk/downloads/sdk8/%E5%92%8Chttps://developer.ibm.com/javasdk/downloads/java-sdk-downloads-version-110/%E3%80%82%E6%9C%89%E5%85%B3%E4%BD%BF%E7%94%A8%E6%AD%A4%E9%95%9C%E5%83%8F%E7%9A%84%E9%99%90%E5%88%B6%EF%BC%8C%E8%AF%B7%E5%8F%82%E8%A7%81%E8%AE%B8%E5%8F%AF%E9%83%A8%E5%88%86%E3%80%82%E6%9C%89%E5%85%B3IBM%C2%AE SDK, Java™技术版的更多信息、API文档以及教程、指南和IBM Cloud中的Java使用方法,请参见https://developer.ibm.com/javasdk/%E3%80%82
Java及所有基于Java的商标和徽标是Oracle和/或其关联公司的商标或注册商标。
https://www.eclipse.org/openj9%E6%98%AF%E4%B8%80%E7%A7%8D%E9%AB%98%E6%80%A7%E8%83%BD%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84Java%E8%99%9A%E6%8B%9F%E6%9C%BA(JVM)%E5%AE%9E%E7%8E%B0%EF%BC%8C%E5%87%9D%E8%81%9A%E4%BA%86%E6%95%B0%E7%99%BE%E4%BA%BA%E5%B9%B4%E7%9A%84%E5%8A%AA%E5%8A%9B%E3%80%82%E7%94%B1IBM%E8%B4%A1%E7%8C%AE%E7%BB%99Eclipse%E9%A1%B9%E7%9B%AE%EF%BC%8COpenJ9 JVM是IBM SDK, Java技术版产品的核心组件,而该产品是许多IBM企业软件产品的核心。在Eclipse基金会持续开发OpenJ9确保了更广泛的协作、新的创新,以及影响下一代Java应用程序OpenJ9开发的机会。Eclipse OpenJ9 Docker镜像可通过AdoptOpenJDK获取,具体可从https://hub.docker.com/u/adoptopenjdk/%E8%8E%B7%E5%8F%96%E3%80%82
这里有三种类型的Docker镜像:软件开发工具包(SDK)、Java运行时环境(JRE)以及JRE的小内存占用版本(SFJ)。这些镜像可用作构建运行应用程序的自定义镜像的基础。
小内存占用JRE
小内存占用JRE(http://www.ibm.com/support/knowledgecenter/en/SSYKE2_8.0.0/com.ibm.java.lnx.80.doc/user/small_jre.html%EF%BC%89%E6%98%AF%E4%B8%93%E4%B8%BA%E5%B8%8C%E6%9C%9B%E5%BC%80%E5%8F%91%E5%92%8C%E9%83%A8%E7%BD%B2%E5%9F%BA%E4%BA%8E%E4%BA%91%E7%9A%84Java%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84Web%E5%BC%80%E5%8F%91%E4%BA%BA%E5%91%98%E8%AE%BE%E8%AE%A1%E7%9A%84%E3%80%82%E4%BA%91%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%B8%8D%E9%9C%80%E8%A6%81%E7%9A%84Java%E5%B7%A5%E5%85%B7%E5%92%8C%E5%8A%9F%E8%83%BD%EF%BC%88%E5%A6%82Java%E6%8E%A7%E5%88%B6%E9%9D%A2%E6%9D%BF%EF%BC%89%E5%B7%B2%E8%A2%AB%E7%A7%BB%E9%99%A4%E3%80%82%E8%BF%90%E8%A1%8C%E6%97%B6%E7%8E%AF%E5%A2%83%E7%BB%8F%E8%BF%87%E7%B2%BE%E7%AE%80%EF%BC%8C%E4%BB%85%E6%8F%90%E4%BE%9B%E6%A0%B8%E5%BF%83%E3%80%81%E5%BF%85%E8%A6%81%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%A4%A7%E5%A4%A7%E5%87%8F%E5%B0%91%E4%BA%86%E7%A3%81%E7%9B%98%E5%92%8C%E5%86%85%E5%AD%98%E5%8D%A0%E7%94%A8%E3%80%82
Alpine Linux
如果您关注整体镜像大小,可考虑使用http://alpinelinux.org/%E3%80%82Alpine Linux是基于http://wiki.musl-libc.org/wiki/Functional_differences_from_glibc%E5%92%8CBusybox%E7%9A%84%E7%B2%BE%E7%AE%80%E7%89%88Linux%EF%BC%8C%E5%85%B6https://hub.docker.com/_/alpine/%E5%A4%A7%E5%B0%8F%E7%BA%A6%E4%B8%BA5 MB。由于其极小的 size 和较少的已安装软件包,它具有更小的***面,从而提高了安全性。IBM SDK依赖于gnu glibc,其源码可在https://github.com/sgerrand/docker-glibc-builder/releases/%E6%89%BE%E5%88%B0%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™技术版的官方支持操作系统。
多架构镜像
现在提供以下架构的Docker镜像:
ibmjava现在支持多架构,因此以下相同的命令可在所有支持的架构上运行。这也意味着不再需要在镜像名称前添加架构前缀,因为这会自动完成。
要使用JRE镜像运行预构建的jar文件,请使用以下命令:
dockerfileFROM docker.xuanyuan.run/i386/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 docker.xuanyuan.run/japp
如果您希望将jar文件放在主机文件系统而非容器内,可以通过以下命令将主机路径挂载到容器:
dockerfileFROM docker.xuanyuan.run/i386/ibmjava:jre CMD ["java", "-jar", "/opt/app/japp.jar"]
consoledocker build -t japp . docker run -it -v /path/on/host/system/jars:/opt/app docker.xuanyuan.run/japp
IBM SDK, Java技术版提供了http://www-01.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.lnx.80.doc/diag/understanding/shared_classes.html%E5%8A%9F%E8%83%BD%E3%80%82%E6%AD%A4%E6%9C%BA%E5%88%B6%E5%9C%A8%E5%90%8C%E4%B8%80%E4%B8%BB%E6%9C%BA%E4%B8%8A%E8%BF%90%E8%A1%8C%E7%9A%84%E5%A4%9A%E4%B8%AAJava%E8%99%9A%E6%8B%9F%E6%9C%BA(JVM)%E4%B9%8B%E9%97%B4%E6%8F%90%E4%BE%9B%E9%80%8F%E6%98%8E%E4%B8%94%E5%8A%A8%E6%80%81%E7%9A%84%E6%95%B0%E6%8D%AE%E5%85%B1%E4%BA%AB%EF%BC%8C%E4%BB%8E%E8%80%8C%E5%87%8F%E5%B0%91%E6%AF%8F%E4%B8%AAJVM%E5%AE%9E%E4%BE%8B%E6%B6%88%E8%80%97%E7%9A%84%E7%89%A9%E7%90%86%E5%86%85%E5%AD%98%E9%87%8F%E3%80%82%E9%80%9A%E8%BF%87%E5%9C%A8%E5%86%85%E5%AD%98%E4%B8%AD%E6%8F%90%E4%BE%9B%E9%83%A8%E5%88%86%E9%AA%8C%E8%AF%81%E7%9A%84%E7%B1%BB%E5%92%8C%E5%8F%AF%E8%83%BD%E9%A2%84%E5%8A%A0%E8%BD%BD%E7%9A%84%E7%B1%BB%EF%BC%8C%E6%AD%A4%E6%9C%BA%E5%88%B6%E8%BF%98%E5%8F%AF%E4%BB%A5%E7%BC%A9%E7%9F%ADJVM%E7%9A%84%E5%90%AF%E5%8A%A8%E6%97%B6%E9%97%B4%E3%80%82
要在同一主机上不同容器中运行的JVM之间启用类数据共享,容器之间必须共享一个公共位置。此要求可通过主机或数据卷容器满足。启用后,类数据共享会在公共位置创建一个命名的"类缓存"(一个内存映射文件)。通过向JVM传递-Xshareclasses选项启用此功能,如以下Dockerfile示例所示:
dockerfileFROM docker.xuanyuan.run/i386/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/sharedclasses。通过主机共享时,必须将主机路径挂载到容器中JVM期望找到类缓存的位置。例如:
consoledocker build -t japp . docker run -it -v /path/on/host/shareclasses/dir:/opt/shareclasses docker.xuanyuan.run/japp
通过数据卷容器共享时,创建一个共享卷的命名数据卷容器:
consoledocker create -v /opt/shareclasses --name classcache japp /bin/true
然后使用--volumes-from标志启动JVM容器以挂载共享卷,如以下示例所示:
consoledocker run -it --volumes-from classcache docker.xuanyuan.run/japp
参见https://hub.docker.com/_/websphere-liberty/%EF%BC%8C%E5%AE%83%E5%9F%BA%E4%BA%8E%E6%AD%A4IBM Java docker镜像构建。
Dockerfile和相关脚本根据http://www.apache.org/licenses/LICENSE-2.0.html%E8%AE%B8%E5%8F%AF%E3%80%82
镜像中安装的产品许可:
与所有Docker镜像一样,这些镜像可能还包含其他受其他许可约束的软件(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
一些能够自动检测到的其他许可信息可能位于https://github.com/docker-library/repo-info/tree/master/repos/ibmjava%E4%B8%AD%E3%80%82
对于任何预构建镜像的使用,镜像用户有责任确保对此镜像的任何使用符合其中包含的所有软件的相关许可。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 i386/ibmjava 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: