adoptopenjdk/openjdk16-openj9AdoptOpenJDK提供的Docker镜像基于Eclipse OpenJ9版本16的二进制文件构建,旨在为Java应用提供标准化、跨平台的容器化运行环境。这些镜像通过DockerHub分发,分为两类维护仓库:
两类镜像均使用AdoptOpenJDK提供的相同底层Java二进制文件,但更新策略不同:官方镜像会在操作系统修复可用时更新底层OS;AdoptOpenJDK自行维护镜像则每日重建,确保最新状态。
所有镜像均基于AdoptOpenJDK构建的OpenJDK 16二进制文件,确保Java应用在不同环境中的一致性运行。
覆盖轻量级(Alpine)、企业级(CentOS、UBI)、通用(Debian)等多种操作系统,满足不同场景的基础镜像需求。
提供完整JDK(含开发工具)、JRE(仅运行时)及Slim(精简体积)版本,可根据应用需求选择最小化镜像。
AdoptOpenJDK维护的镜像每日重建,及时集成操作系统和Java运行时的安全补丁与更新。
支持aarch64、amd64、ppc64le、s390x等多种架构,适配不同硬件平台。
alpine或alpine-slim标签。centos、clefos、ubi或ubi-minimal标签。debian或debianslim标签。[os]-nightly(如alpine-nightly)。按操作系统分类,包含JDK、JDK-Slim、JRE版本,标签格式及对应Dockerfile链接如下:
| 标签 | 描述 | Dockerfile链接 |
|---|---|---|
alpine | JDK完整版本 | 16/jdk/alpine/Dockerfile.openj9.releases.full |
alpine-slim | JDK精简版本 | 16/jdk/alpine/Dockerfile.openj9.releases.slim |
alpine-jre | JRE完整版本 | 16/jre/alpine/Dockerfile.openj9.releases.full |
| 标签 | 描述 | Dockerfile链接 |
|---|---|---|
centos | JDK完整版本 | 16/jdk/centos/Dockerfile.openj9.releases.full |
centos-slim | JDK精简版本 | 16/jdk/centos/Dockerfile.openj9.releases.slim |
centos-jre | JRE完整版本 | 16/jre/centos/Dockerfile.openj9.releases.full |
| 标签 | 描述 | Dockerfile链接 |
|---|---|---|
clefos | JDK完整版本 | 16/jdk/clefos/Dockerfile.openj9.releases.full |
clefos-slim | JDK精简版本 | 16/jdk/clefos/Dockerfile.openj9.releases.slim |
clefos-jre | JRE完整版本 | 16/jre/clefos/Dockerfile.openj9.releases.full |
| 标签 | 描述 | Dockerfile链接 |
|---|---|---|
debian | JDK完整版本 | 16/jdk/debian/Dockerfile.openj9.releases.full |
debian-slim | JDK精简版本 | 16/jdk/debian/Dockerfile.openj9.releases.slim |
debian-jre | JRE完整版本 | 16/jre/debian/Dockerfile.openj9.releases.full |
debianslim | 基于Debian-Slim的JDK完整版本 | 16/jdk/debianslim/Dockerfile.openj9.releases.full |
debianslim-slim | 基于Debian-Slim的JDK精简版本 | 16/jdk/debianslim/Dockerfile.openj9.releases.slim |
debianslim-jre | 基于Debian-Slim的JRE完整版本 | 16/jre/debianslim/Dockerfile.openj9.releases.full |
| 标签 | 描述 | Dockerfile链接 |
|---|---|---|
leap | 基于openSUSE Leap的JDK完整版本 | 16/jdk/leap/Dockerfile.openj9.releases.full |
leap-jre | 基于openSUSE Leap的JRE完整版本 | 16/jre/leap/Dockerfile.openj9.releases.full |
tumbleweed | 基于openSUSE Tumbleweed的JDK完整版本 | 16/jdk/tumbleweed/Dockerfile.openj9.releases.full |
tumbleweed-jre | 基于openSUSE Tumbleweed的JRE完整版本 | 16/jre/tumbleweed/Dockerfile.openj9.releases.full |
| 标签 | 描述 | Dockerfile链接 |
|---|---|---|
ubi | 基于Red Hat UBI的JDK完整版本 | 16/jdk/ubi/Dockerfile.openj9.releases.full |
ubi-slim | 基于Red Hat UBI的JDK精简版本 | 16/jdk/ubi/Dockerfile.openj9.releases.slim |
ubi-jre | 基于Red Hat UBI的JRE完整版本 | 16/jre/ubi/Dockerfile.openj9.releases.full |
ubi-minimal | 基于Red Hat UBI-Minimal的JDK完整版本 | 16/jdk/ubi-minimal/Dockerfile.openj9.releases.full |
ubi-minimal-jre | 基于Red Hat UBI-Minimal的JRE完整版本 | 16/jre/ubi-minimal/Dockerfile.openj9.releases.full |
| 标签 | 描述 | Dockerfile链接 |
|---|---|---|
latest | 基于Ubuntu的JDK完整版本(默认标签) | 16/jdk/ubuntu/Dockerfile.openj9.releases.full |
slim | 基于Ubuntu的JDK精简版本 | 16/jdk/ubuntu/Dockerfile.openj9.releases.slim |
jre | 基于Ubuntu的JRE完整版本 | 16/jre/ubuntu/Dockerfile.openj9.releases.full |
包含最新开发进度的Java二进制文件,标签格式在发布版本基础上添加-nightly后缀(如alpine-nightly、centos-nightly-slim),完整列表可参考GitHub仓库。
拉取并运行镜像,验证Java环境:
bashdocker run --rm -it adoptopenjdk/openjdk16-openj9:latest java -version
输出示例:
openjdk version "16" 2021-03-16 OpenJDK Runtime Environment AdoptOpenJDK (build 16+36) Eclipse OpenJ9 VM AdoptOpenJDK (build openj9-0.25.0, JRE 16 Linux amd64-64-Bit Compressed References 20210311_69 (JIT enabled, AOT enabled) OpenJ9 - 022d65424 OMR - 09514431e JCL - 0c***a21a based on jdk-16+36)
将本地Java应用jar包挂载到容器中运行:
bashdocker run --rm -v $(pwd)/app.jar:/app.jar adoptopenjdk/openjdk16-openj9:jre ubi java -jar /app.jar
通过Dockerfile集成镜像到应用构建流程:
dockerfileFROM adoptopenjdk/openjdk16-openj9:ubi WORKDIR /opt/app COPY target/app.jar app.jar CMD ["java", "-jar", "app.jar"]
bashdocker build -t my-java-app . docker run -it --rm -p 8080:8080 my-java-app
如需固定版本(避免自动更新),可使用带版本号的标签,格式为[jdk/jre]-<version>_<build>_openj9-<openj9-version>-<os>:
bashdocker run --rm -it adoptopenjdk/openjdk16-openj9:jre-16.0.1_9_openj9-0.26.0-alpine java -version
创建docker-compose.yml部署Java应用:
yamlversion: '3' services: app: image: adoptopenjdk/openjdk16-openj9:ubi-slim container_name: java-app volumes: - ./target/app.jar:/opt/app/app.jar ports: - "8080:8080" command: ["java", "-jar", "/opt/app/app.jar"]
启动服务:
bashdocker-compose up -d
aarch64、amd64、ppc64le、s390x镜像中可能包含其他软件(如基础操作系统组件、Bash等),其许可证需由用户自行确认合规性。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务