** 注意 **:这是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 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务