如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://github.com/NoEnv/docker-openjdk/actions/workflows/build.yml/badge.svg](https://github.com/NoEnv/docker-openjdk/actions/workflows/build.yml) https://github.com/NoEnv/docker-openjdk/actions/workflows/server.yml/badge.svg](https://github.com/NoEnv/docker-openjdk/actions/workflows/server.yml)
noenv/openjdk 是由 NoEnv 维护的 OpenJDK 官方实现的 Docker 镜像,旨在为 Java 应用程序提供轻量、可靠且标准化的运行环境。该镜像基于 OpenJDK 官方源码构建,集成了必要的运行时依赖,适用于各类 Java 应用(包括控制台程序、Web 应用、微服务等)的容器化部署。
docker run、docker-compose 等)从 Docker Hub 拉取最新版本(默认标签为 latest,对应最新 LTS 版本):
bashdocker pull noenv/openjdk:latest
如需指定 Java 版本,可使用版本标签(如 Java 17):
bashdocker pull noenv/openjdk:17
查看所有可用标签:https://hub.docker.com/r/noenv/openjdk/tags
运行 Java 控制台应用
将本地 JAR 文件挂载到容器中并执行:
bashdocker run -it --rm \ -v $(pwd)/my-app.jar:/app/app.jar \ noenv/openjdk:17 \ java -jar /app/app.jar
运行 Spring Boot 应用
通过环境变量传递 JVM 参数(如内存配置):
bashdocker run -d --name spring-app \ -p 8080:8080 \ -v $(pwd)/app.jar:/app.jar \ -e JAVA_OPTS="-Xms512m -Xmx1g -XX:+UseContainerSupport" \ noenv/openjdk:17 \ java $JAVA_OPTS -jar /app.jar
创建 docker-compose.yml 文件,定义服务配置:
yamlversion: '3.8' services: java-app: image: noenv/openjdk:17 container_name: java-app restart: always ports: - "8080:8080" volumes: - ./app:/app # 挂载应用代码或配置文件 - app-logs:/var/log/app # 持久化日志 environment: - JAVA_OPTS="-Xmx1g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/dump.hprof" - TZ=Asia/Shanghai # 设置时区 working_dir: /app command: java $JAVA_OPTS -jar app.jar volumes: app-logs: # 声明持久化卷
启动服务:
bashdocker-compose up -d
| 环境变量 | 描述 | 默认值 | 示例 |
|---|---|---|---|
JAVA_HOME | Java 安装路径(只读,镜像内置) | /usr/lib/jvm/default-jvm | - |
JAVA_OPTS | 自定义 JVM 参数 | 空 | -Xms256m -Xmx512m -Duser.timezone=UTC |
WORKDIR | 容器工作目录 | / | /app |
USER | 运行应用的用户(用户名或 UID) | root | 1000(非 root 用户 UID) |
TZ | 系统时区 | UTC | Asia/Shanghai |
非 Root 用户运行
为增强安全性,指定非 root 用户运行应用(需确保挂载目录权限):
bashdocker run -it --rm \ -v $(pwd)/app.jar:/app.jar \ -u 1000:1000 \ # UID:GID,需与宿主机目录权限匹配 noenv/openjdk:17 \ java -jar /app.jar
自定义 JVM 日志输出
将 JVM 日志重定向到文件或标准输出:
bashdocker run -d \ -e JAVA_OPTS="-XX:+PrintGCDetails -Xlog:gc*:file=/var/log/gc.log:time" \ -v $(pwd)/logs:/var/log \ noenv/openjdk:17 \ java $JAVA_OPTS -jar /app.jar
noenv/openjdk:8)。docker volume 或宿主机挂载持久化,避免容器删除后数据丢失。--memory、--cpus 参数限制容器资源,避免 JVM 内存溢出。docker scan 定期检查镜像漏洞。https://github.com/NoEnv/docker-openjdk/actions/workflows/build.yml/badge.svg](https://github.com/NoEnv/docker-openjdk/actions/workflows/build.yml) https://github.com/NoEnv/docker-openjdk/actions/workflows/server.yml/badge.svg](https://github.com/NoEnv/docker-openjdk/actions/workflows/server.yml)
noenv/openjdk 是由 NoEnv 维护的 OpenJDK 官方实现 Docker 镜像,旨在为 Java 应用提供轻量、可靠的标准化运行环境。该镜像基于 OpenJDK 源码构建,支持多版本、多架构部署,适用于开发、测试及生产环境中各类 Java 应用的容器化需求。
docker run、docker-compose)拉取最新版本(默认对应最新 LTS 版本):
bashdocker pull noenv/openjdk:latest
指定 Java 版本(如 Java 17):
bashdocker pull noenv/openjdk:17
查看所有可用标签:https://hub.docker.com/r/noenv/openjdk/tags
运行 JAR 应用
挂载本地 JAR 文件并执行:
bashdocker run -it --rm \ -v $(pwd)/app.jar:/app/app.jar \ noenv/openjdk:17 \ java -jar /app/app.jar
自定义 JVM 参数
通过环境变量传递内存配置等参数:
bashdocker run -d --name java-service \ -p 8080:8080 \ -v $(pwd)/app.jar:/app.jar \ -e JAVA_OPTS="-Xms512m -Xmx1g -XX:+UseContainerSupport" \ noenv/openjdk:17 \ java $JAVA_OPTS -jar /app.jar
创建 docker-compose.yml 配置文件:
yamlversion: '3.8' services: java-app: image: noenv/openjdk:17 container_name: java-app restart: always ports: - "8080:8080" volumes: - ./app:/app # 挂载应用代码/配置 - app-logs:/var/log/app # 持久化日志 environment: - JAVA_OPTS="-Xmx1g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/dump.hprof" - TZ=Asia/Shanghai # 设置时区 working_dir: /app command: java $JAVA_OPTS -jar app.jar volumes: app-logs: # 声明持久化卷
启动服务:
bashdocker-compose up -d
| 环境变量 | 描述 | 默认值 | 示例 |
|---|---|---|---|
JAVA_HOME | Java 安装路径(只读) | /usr/lib/jvm/default-jvm | - |
JAVA_OPTS | 自定义 JVM 参数 | 空 | -Xms256m -Xmx512m -Duser.timezone=UTC |
WORKDIR | 容器工作目录 | / | /app |
USER | 运行用户(UID/GID 或用户名) | root | 1000:1000(非 root 用户) |
TZ | 系统时区 | UTC | Asia/Shanghai |
noenv/openjdk:8)。docker volume 或宿主机挂载持久化。--memory、--cpus 参数限制容器资源,避免 JVM 内存溢出。-u 参数指定 UID/GID),降低权限风险。以下是 noenv/openjdk 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


来自真实用户的反馈,见证轩辕镜像的优质服务