本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
** 注意 **:这是ibmjava官方镜像的“特定架构”仓库,用于ppc64le架构构建——更多信息参见官方镜像文档中的“非amd64架构?”及官方镜像FAQ中的“镜像源在Git中变更后如何处理?”。
-** 维护者 **:
IBM Runtime Technologies
-** 获取帮助 **:
IBM Java运行时和SDK的developerWorks论坛
Dockerfile链接8-jre, jre, 8, latest
8-sfj, sfj
8-sdk, sdk
-** 问题反馈 **:
GitHub;故障排除参见How Do I ...?页面
-** 支持的架构 **:(更多信息)
amd64、ppc64le、s390x
-** 镜像 artifact 详情 **:
repo-info仓库的repos/ibmjava/目录(历史记录)
(镜像元数据、传输大小等)
-** 镜像更新 **:
official-images仓库的library/ibmjava标签
official-images仓库的library/ibmjava文件(历史记录)
-** 本文档来源 **:
docs仓库的ibmjava/目录(历史记录)
本仓库镜像包含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获取,详见此处。
本仓库提供三种Docker镜像:软件开发工具包(SDK)、Java运行时环境(JRE)及小内存占用JRE(SFJ)。这些镜像可用作构建自定义镜像的基础,用于运行应用。
小内存占用JRE(SFJ)专为希望开发和部署云原生Java应用的Web开发者设计。移除了云环境中不需要的Java工具和功能(如Java控制面板),仅保留核心必要功能,显著减少磁盘和内存占用。
若关注镜像总体大小,可考虑使用Alpine Linux。Alpine Linux是基于musl libc和Busybox的精简Linux版本,其Docker镜像大小约5 MB。因其极小的体积和精简的已安装包,攻击面更小,安全性更高。IBM SDK依赖gnu glibc,源码参见此处。安装此库会使镜像大小增加约8 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:
FROM ppc64le/ibmjava:jre RUN mkdir /opt/app COPY japp.jar /opt/app CMD ["java", "-jar", "/opt/app/japp.jar"]
构建并运行Docker镜像:
docker build -t japp . docker run -it --rm japp
若需将JAR文件放在主机文件系统而非容器内,可通过挂载主机路径到容器:
FROM ppc64le/ibmjava:jre CMD ["java", "-jar", "/opt/app/japp.jar"]
docker 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:
FROM 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期望的类缓存位置:
docker build -t japp . docker run -it -v /path/on/host/shareclasses/dir:/opt/shareclasses japp
通过数据卷容器共享时,创建命名数据卷容器共享卷:
docker create -v /opt/shareclasses --name classcache japp /bin/true
使用--volumes-from标志挂载共享卷启动JVM容器:
docker run -it --volumes-from classcache japp
参见Websphere-Liberty镜像,其基于此IBM Java Docker镜像构建。
Dockerfile及相关脚本采用Apache License 2.0许可。
镜像中安装产品的许可:
与所有Docker镜像一样,本镜像可能包含其他软件,这些软件可能采用其他许可(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
可在repo-info仓库的ibmjava/目录中找到一些自动检测到的额外许可信息。
对于任何预构建镜像的使用,镜像用户有责任确保对本镜像的任何使用符合其中包含的所有软件的相关许可。
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429