本仓库镜像包含由AdoptOpenJDK构建的、集成Eclipse OpenJ9虚拟机的OpenJDK 11二进制文件。AdoptOpenJDK提供两类Docker镜像:
两类镜像使用相同的AdoptOpenJDK Java二进制文件,核心差异在于操作系统支持范围。
amd64、ppc64le、s390x架构,同一命令可在不同架构环境中运行。本仓库镜像支持以下基础操作系统(OS):
amd64(x86_64)ppc64le(PowerPC 64位小端)s390x(IBM System z)按操作系统分组,主要标签格式为[OS]-[jdk|jre|slim],示例如下(完整标签及Dockerfile见对应链接):
alpine:JDK完整版,示例标签jdk-11.0.11_9_openj9-0.26.0-alpine,Dockerfile见链接。alpine-slim:JDK精简版,示例标签jdk-11.0.11_9_openj9-0.26.0-alpine-slim,Dockerfile见链接。alpine-jre:JRE完整版,示例标签jre-11.0.11_9_openj9-0.26.0-alpine,Dockerfile见链接。centos:JDK完整版,示例标签jdk-11.0.11_9_openj9-0.26.0-centos,Dockerfile见链接。centos-slim:JDK精简版,示例标签jdk-11.0.11_9_openj9-0.26.0-centos-slim,Dockerfile见链接。centos-jre:JRE完整版,示例标签jre-11.0.11_9_openj9-0.26.0-centos,Dockerfile见链接。debian、debian-slim、debian-jre,Dockerfile见Debian JDK完整版。ubi、ubi-slim、ubi-jre、ubi-minimal-jre,Dockerfile见UBI JDK完整版。latest(基于Ubuntu的JDK完整版)、slim(基于Ubuntu的JDK精简版)、jre(基于Ubuntu的JRE完整版)。每日更新的开发版,标签格式在稳定版基础上添加-nightly后缀,例如:
alpine-nightly(Alpine JDK每日构建版)centos-nightly-slim(CentOS JDK精简版每日构建版)nightly(默认Ubuntu JDK每日构建版)完整标签及Dockerfile见GitHub仓库。
slim标签减少镜像体积,优化容器启动速度。nightly标签验证最新JVM特性或修复。bash# 拉取最新稳定版JDK(基于Ubuntu) docker pull adoptopenjdk/openjdk11-openj9:latest # 拉取Alpine JRE精简版 docker pull adoptopenjdk/openjdk11-openj9:alpine-jre
bashdocker run --rm adoptopenjdk/openjdk11-openj9:latest java -version
输出示例:
openjdk version "11.0.11" 2021-04-20 OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.11+9) Eclipse OpenJ9 VM AdoptOpenJDK (build openj9-0.26.0, JRE 11 Linux amd64-64-Bit Compressed References 20210421_932 (JIT enabled, AOT enabled) OpenJ9 - 0394ef754 OMR - 582366ae5 JCL - 3b09cfd7e9 based on jdk-11.0.11+9)
通过Dockerfile将Java应用打包为镜像:
dockerfile# 使用Alpine JRE精简版作为基础镜像 FROM adoptopenjdk/openjdk11-openj9:alpine-jre # 创建应用目录 RUN mkdir -p /opt/app # 复制应用JAR包 COPY your-app.jar /opt/app/ # 启动命令 CMD ["java", "-jar", "/opt/app/your-app.jar"]
构建并运行:
bashdocker build -t your-app:v1 . docker run -d -p 8080:8080 --name your-app-container your-app:v1
OpenJ9提供类数据共享(CDS)功能,可通过共享类缓存提升JVM启动速度并减少内存占用。需将缓存目录挂载到容器外部(主机目录或数据卷)。
bash# 构建镜像(含CDS配置) docker build -t app-with-cds - <<EOF FROM adoptopenjdk/openjdk11-openj9:latest RUN mkdir /opt/shareclasses /opt/app COPY your-app.jar /opt/app/ CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses", "-jar", "/opt/app/your-app.jar"] EOF # 运行容器,挂载主机缓存目录 docker run -d -v /host/path/to/shareclasses:/opt/shareclasses --name app-cds app-with-cds
bash# 创建数据卷容器(持久化缓存目录) docker create -v /opt/shareclasses --name cds-cache adoptopenjdk/openjdk11-openj9:latest /bin/true # 运行应用容器,共享缓存卷 docker run -d --volumes-from cds-cache --name app-cds app-with-cds
yamlversion: '3' services: java-app: image: adoptopenjdk/openjdk11-openj9:alpine-jre container_name: java-app volumes: - ./app:/opt/app # 挂载应用目录 - cds-cache:/opt/shareclasses # 共享CDS缓存 command: ["java", "-Xshareclasses:cacheDir=/opt/shareclasses", "-jar", "/opt/app/your-app.jar"] ports: - "8080:8080" restart: unless-stopped volumes: cds-cache: # 定义CDS缓存数据卷
Dockerfile及相关构建脚本采用Apache License 2.0授权。
镜像中可能包含基础OS及依赖组件(如Bash等),其许可证需遵循各自分发方要求。用户应确保使用本镜像符合所有组件的许可证条款。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429