
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本仓库镜像包含由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
alpine:JDK完整版,示例标签jdk-11.0.11_9_openj9-0.26.0-alpine,Dockerfile见https://github.com/AdoptOpenJDK/openjdk-docker/blob/master/11/jdk/alpine/Dockerfile.openj9.releases.full%E3%80%82alpine-slim:JDK精简版,示例标签jdk-11.0.11_9_openj9-0.26.0-alpine-slim,Dockerfile见https://github.com/AdoptOpenJDK/openjdk-docker/blob/master/11/jdk/alpine/Dockerfile.openj9.releases.slim%E3%80%82alpine-jre:JRE完整版,示例标签jre-11.0.11_9_openj9-0.26.0-alpine,Dockerfile见https://github.com/AdoptOpenJDK/openjdk-docker/blob/master/11/jre/alpine/Dockerfile.openj9.releases.full%E3%80%82CentOS
centos:JDK完整版,示例标签jdk-11.0.11_9_openj9-0.26.0-centos,Dockerfile见https://github.com/AdoptOpenJDK/openjdk-docker/blob/master/11/jdk/centos/Dockerfile.openj9.releases.full%E3%80%82centos-slim:JDK精简版,示例标签jdk-11.0.11_9_openj9-0.26.0-centos-slim,Dockerfile见https://github.com/AdoptOpenJDK/openjdk-docker/blob/master/11/jdk/centos/Dockerfile.openj9.releases.slim%E3%80%82centos-jre:JRE完整版,示例标签jre-11.0.11_9_openj9-0.26.0-centos,Dockerfile见https://github.com/AdoptOpenJDK/openjdk-docker/blob/master/11/jre/centos/Dockerfile.openj9.releases.full%E3%80%82其他操作系统
debian、debian-slim、debian-jre,Dockerfile见https://github.com/AdoptOpenJDK/openjdk-docker/blob/master/11/jdk/debian/Dockerfile.openj9.releases.full%E3%80%82ubi、ubi-slim、ubi-jre、ubi-minimal-jre,Dockerfile见https://github.com/AdoptOpenJDK/openjdk-docker/blob/master/11/jdk/ubi/Dockerfile.openj9.releases.full%E3%80%82latest(基于Ubuntu的JDK完整版)、slim(基于Ubuntu的JDK精简版)、jre(基于Ubuntu的JRE完整版)。每日更新的开发版,标签格式在稳定版基础上添加-nightly后缀,例如:
alpine-nightly(Alpine JDK每日构建版)centos-nightly-slim(CentOS JDK精简版每日构建版)nightly(默认Ubuntu JDK每日构建版)完整标签及Dockerfile见https://github.com/AdoptOpenJDK/openjdk-docker%E3%80%82
slim标签减少镜像体积,优化容器启动速度。nightly标签验证最新JVM特性或修复。拉取镜像
bash# 拉取最新稳定版JDK(基于Ubuntu) docker pull adoptopenjdk/openjdk11-openj9:latest # 拉取Alpine JRE精简版 docker pull adoptopenjdk/openjdk11-openj9:alpine-jre
验证JVM版本
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启动速度并减少内存占用。需将缓存目录挂载到容器外部(主机目录或数据卷)。
方法1:挂载主机目录
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
方法2:使用数据卷容器
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及相关构建脚本采用http://www.apache.org/licenses/LICENSE-2.0.html%E6%8E%88%E6%9D%83%E3%80%82
镜像中可能包含基础OS及依赖组件(如Bash等),其许可证需遵循各自分发方要求。用户应确保使用本镜像符合所有组件的许可证条款。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务