
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
用于持续集成的 OpenJDK/Java Docker 镜像,专为 CircleCI 环境设计
该镜像旨在替代旧版 CircleCI OpenJDK 镜像 circleci/openjdk。
cimg/openjdk 是由 CircleCI 开发的 Docker 镜像,专注于持续集成构建场景。每个标签包含特定版本的 OpenJDK、Java 开发工具包(JDK),以及在 CircleCI 环境中成功完成构建所需的二进制文件和工具。
该镜像可与 CircleCI 的 docker 执行器配合使用。示例配置如下:
yamljobs: build: docker: - image: cimg/openjdk:15.0 # 使用 OpenJDK 镜像 steps: - checkout # 检出代码 - run: java --version # 验证 Java 版本
上述示例中,cimg/openjdk:15.0 作为主容器镜像,标签 15.0 对应 OpenJDK v15.0.2 版本。配置后即可在任务步骤中使用 OpenJDK。
本镜像基于 [Adoptium] 提供的 OpenJDK 构建,包含 Java 编程语言环境。
变体镜像基于基础镜像,额外集成特定工具以满足不同场景需求。
Node.js 变体
在基础 OpenJDK 镜像中预装 Node.js。使用时需在标签后添加 -node 后缀,例如:
yamljobs: build: docker: - image: cimg/openjdk:15.0-node # Node.js 变体 steps: - checkout - run: java --version # 验证 Java - run: node --version # 验证 Node.js
浏览器变体
在基础镜像中预装 Node.js、Selenium 及浏览器依赖(通过 apt 安装),需配合 [CircleCI Browser Tools orb] 使用(用于安装 Chrome/Firefox 浏览器)。使用时添加 -browser 后缀,例如:
yamlorbs: browser-tools: circleci/browser-tools@1.1 # 引入浏览器工具 orb jobs: build: docker: - image: cimg/openjdk:15.0-browsers # 浏览器变体 steps: - browser-tools/install-browser-tools # 安装浏览器 - checkout - run: | node --version # 验证 Node.js java --version # 验证 Java google-chrome --version # 验证 Chrome
镜像标签格式如下:
cimg/openjdk:<openjdk-version>[-variant]
<openjdk-version>:OpenJDK 版本号,支持完整语义化版本(如 11.0.10)或次要版本(如 11.0)。次要版本标签会自动指向最新补丁更新(例如 11.0 会从 11.0.10 自动更新到 11.0.11)。[-variant]:可选变体后缀,如 -node(Node.js 变体)或 -browser(浏览器变体)。本地构建和运行镜像需满足以下环境要求:
社区用户(无仓库写入权限)
--recurse-submodules 参数拉取子模块:
bashgit clone --recurse-submodules <你的 Fork 仓库地址>
bashgit submodule update --recursive
维护者(有仓库写入权限)
直接克隆并拉取子模块:
bashgit clone --recurse-submodules [邮箱已删除]:CircleCI-Public/cimg-openjdk.git
使用 gen-dockerfiles.sh 脚本生成特定版本的 Dockerfile,需指定 OpenJDK 版本及 Adoptium 下载链接(因 Adoptium 版本号含额外构建号,需手动传入 URL)。例如生成 OpenJDK 11.0.5 的 Dockerfile:
bash./shared/gen-dockerfiles.sh 11.0.5#[] 生成的 Dockerfile 位于 `./11.0/Dockerfile`。 ### 本地构建与测试 生成 Dockerfile 后,可本地构建并测试镜像: ```bash cd 11.0 # 进入版本目录 docker build -t test/openjdk:11.0.5 . # 构建镜像 docker run -it docker.xuanyuan.run/test/openjdk:11.0.5 bash # 运行容器测试
使用 build-images.sh 脚本批量构建本地镜像(需先生成 Dockerfile):
bash./build-images.sh
通过 release.sh 脚本自动化发布流程(以 OpenJDK 9.9.9 为例,需替换为实际版本和 URL):
bash./shared/release.sh 9.9.9#[] 该脚本会自动创建分支、生成 Dockerfile、提交变更并推送到 GitHub(提交信息含 `[release]` 标记,触发 CircleCI 流水线推送镜像至 Docker Hub)。后续需: 1. 等待 CircleCI 构建通过 2. 审核并合并 PR ### 变更集成 - **构建脚本更新**:`./shared` 子模块的变更需通过更新子模块同步: ```bash cd shared && git pull && cd .. && git add shared && git commit -m "更新子模块"
Dockerfile.template 文件,重新生成 Dockerfile 即可生效。欢迎提交 issue 和 PR,但建议注意以下事项:
.circleci/config.yml 语法说明本仓库采用 MIT 许可证,详见 LICENSE。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 cimg/openjdk 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: