本镜像为https://hub.docker.com/_/openjdk%E7%9A%84%60i386%60%E6%9E%B6%E6%9E%84%22%E7%89%B9%E5%AE%9A%E6%9E%B6%E6%9E%84%22%E4%BB%93%E5%BA%93%E3%80%82%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%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%84https://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%84https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E3%80%82
该镜像已被官方弃用,建议所有用户尽快寻找并使用合适的替代方案。以下是一些官方镜像替代选项(按字母顺序排列,无偏好暗示):
更多信息参见https://github.com/docker-library/openjdk/issues/505%E3%80%822022%E5%B9%B47%E6%9C%88%E4%B9%8B%E5%90%8E%EF%BC%8C%E5%8F%AA%E6%9C%89%E6%97%A9%E6%9C%9F%E8%AE%BF%E9%97%AE%E7%89%88%E6%9C%AC%EF%BC%88%E6%BA%90%E8%87%AAjdk.java.net%EF%BC%89%E4%BC%9A%E7%BB%A7%E7%BB%AD%E6%8E%A5%E6%94%B6%E6%9B%B4%E6%96%B0%EF%BC%8C%E5%9B%A0%E4%B8%BA%E8%BF%99%E4%BA%9B%E7%89%88%E6%9C%AC%E6%9C%AA%E8%A2%AB%E4%B8%8A%E8%BF%B0%E9%A1%B9%E7%9B%AE%E5%8F%91%E5%B8%83/%E6%94%AF%E6%8C%81%E3%80%82
维护者:
https://github.com/docker-library/openjdk
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux或Stack Overflow
警告:此镜像在i386架构上不受支持
问题提交地址:
https://github.com/docker-library/openjdk/issues?q=
支持的架构:(https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/openjdk/%E3%80%81https://hub.docker.com/r/arm64v8/openjdk/%E3%80%81https://hub.docker.com/r/winamd64/openjdk/
已发布镜像工件详情:
https://github.com/docker-library/repo-info/blob/master/repos/openjdk%EF%BC%88https://github.com/docker-library/repo-info/commits/master/repos/openjdk%EF%BC%89
(包含镜像元数据、传输大小等)
镜像更新:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fopenjdk
https://github.com/docker-library/official-images/blob/master/library/openjdk%EF%BC%88https://github.com/docker-library/official-images/commits/master/library/openjdk%EF%BC%89
本描述来源:
https://github.com/docker-library/docs/tree/master/openjdk%EF%BC%88https://github.com/docker-library/docs/commits/master/openjdk%EF%BC%89
OpenJDK(开放Java开发工具包)是Java平台标准版(Java SE)的免费开源实现。自版本7起,OpenJDK成为Java SE的官方参考实现。
***.org/wiki/OpenJDK
Java是Oracle及其关联公司的注册商标。
!https://raw.githubusercontent.com/docker-library/docs/a3439b66b7980d1811f6b3835a3c541747172970/openjdk/logo.png
使用此镜像最直接的方式是将Java容器同时用作构建和运行环境。在Dockerfile中,可以编写如下内容来编译和运行项目:
dockerfileFROM i386/openjdk:11 COPY . /usr/src/myapp WORKDIR /usr/src/myapp RUN javac Main.java CMD ["java", "Main"]
然后可以构建并运行Docker镜像:
console$ docker build -t my-java-app . $ docker run -it --rm --name my-running-app my-java-app
有时可能不适合在容器内运行应用。要在Docker实例内编译而非运行应用,可以执行如下命令:
console$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp i386/openjdk:11 javac Main.java
这会将当前目录作为卷挂载到容器,将工作目录设置为该卷,并运行javac Main.java命令,该命令会让Java编译Main.java中的代码,并将Java类文件输出到Main.class。
JVM启动时会尝试检测可用CPU核心数和RAM,以相应调整其内部参数(如生成的垃圾回收线程数)。当容器以有限的CPU/RAM运行时,JVM用于探测的标准系统API会返回主机范围的值。这可能导致旧版本JVM出现过高CPU使用率和内存分配错误。
在Linux容器中,OpenJDK 8及更高版本可以正确检测容器限制的CPU核心数和可用RAM。对于所有当前支持的OpenJDK版本,此功能默认启用。
在Windows Server(非Hyper-V)容器中,可用CPU核心数限制不起作用(被主机计算服务忽略)。要手动设置限制,可以按如下方式启动JVM:
console$ start /b /wait /affinity 0x3 path/to/java.exe ...
在此示例中,CPU亲和性十六进制掩码0x3会将JVM限制为2个CPU核心。
Windows Server容器支持RAM限制,但JVM目前无法检测。为防止过度内存分配,必须指定-XX:MaxRAM=...选项,其值不大于容器的RAM限制。
某些shell(特别是Alpine Linux中包含的https://github.com/docker-library/openjdk/issues/135%EF%BC%89%E4%B8%8D%E6%94%AF%E6%8C%81%E5%90%8D%E7%A7%B0%E5%90%AB%E5%8F%A5%E7%82%B9%E7%9A%84%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%EF%BC%88%E6%8A%80%E6%9C%AF%E4%B8%8A%E4%B8%8D%E7%AC%A6%E5%90%88POSIX%E6%A0%87%E5%87%86%EF%BC%89%EF%BC%8C%E5%9B%A0%E6%AD%A4%E4%BC%9A%E5%89%A5%E7%A6%BB%E8%BF%99%E4%BA%9B%E5%8F%98%E9%87%8F%E8%80%8C%E9%9D%9E%E4%BC%A0%E9%80%92%EF%BC%88%E5%A6%82Bash%E6%89%80%E5%81%9A%EF%BC%89%E3%80%82%E5%A6%82%E6%9E%9C%E5%BA%94%E7%94%A8%E9%9C%80%E8%A6%81%E6%AD%A4%E7%B1%BB%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%EF%BC%8C%E5%8F%AF%E7%9B%B4%E6%8E%A5%E4%BD%BF%E7%94%A8%60CMD ["java", ...](无shell),或(安装并)明确使用Bash而非/bin/sh`。
查看本镜像中包含软件的许可信息。
与所有Docker镜像一样,这些镜像可能还包含其他软件,可能受其他许可(如基础发行版中的Bash等,以及包含的主要软件的任何直接或间接依赖项)约束。
一些能够自动检测到的额外许可信息可在https://github.com/docker-library/repo-info/tree/master/repos/openjdk%E4%B8%AD%E6%89%BE%E5%88%B0%E3%80%82
对于任何预构建镜像的使用,镜像用户有责任确保对本镜像的任何使用都符合其中包含的所有软件的相关许可。
以下是 i386/openjdk 相关的常用 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务