
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
harisekhon/ubuntu-java 是基于Ubuntu操作系统的Java运行和开发环境镜像,采用OpenJDK构建,提供多种Java版本(7、8、9)及JRE/JDK变体。该镜像旨在为Java应用提供稳定、标准化的运行时和开发环境,尤其适用于Hadoop、大数据生态系统及DevOps工具链的开发与部署场景。
JAVA_HOME环境变量,无需手动配置镜像通过标签区分Java版本、变体(JRE/JDK)及基础Ubuntu版本,格式为[jdk|jre]<version>,具体标签如下:
| 标签 | 说明 | 基础Ubuntu版本 | Java版本 | 变体 |
|---|---|---|---|---|
jdk7 | OpenJDK 7 Development Kit | Ubuntu 14.04 | 7 | JDK |
jre7 | OpenJDK 7 Runtime Environment | Ubuntu 14.04 | 7 | JRE |
jdk8 | OpenJDK 8 Development Kit | Ubuntu latest | 8 | JDK |
jre8 | OpenJDK 8 Runtime Environment | Ubuntu latest | 8 | JRE |
jdk9 | OpenJDK 9 Development Kit | Ubuntu latest | 9 | JDK |
jre9 | OpenJDK 9 Runtime Environment | Ubuntu latest | 9 | JRE |
latest | 默认标签,等同于jdk8 | Ubuntu latest | 8 | JDK |
通过docker pull命令拉取指定标签的镜像:
bash# 拉取JDK 8(默认latest标签) docker pull docker.xuanyuan.run/harisekhon/ubuntu-java:latest # 拉取JRE 8 docker pull docker.xuanyuan.run/harisekhon/ubuntu-java:jre8 # 拉取JDK 7(基于Ubuntu 14.04) docker pull docker.xuanyuan.run/harisekhon/ubuntu-java:jdk7
1. 运行交互式容器(验证Java版本)
bash# 使用JDK 8,进入bash终端 docker run -it --rm docker.xuanyuan.run/harisekhon/ubuntu-java:jdk8 bash # 在容器内验证Java版本和JAVA_HOME java -version echo $JAVA_HOME # 输出:/usr/lib/jvm/java-8-openjdk-amd64
2. 运行Java应用(挂载本地JAR文件)
假设本地有app.jar需运行,使用JRE 8环境:
bashdocker run -it --rm -v $(pwd):/app -w /app docker.xuanyuan.run/harisekhon/ubuntu-java:jre8 java -jar app.jar
3. 作为开发环境(编译Java代码)
使用JDK 8编译当前目录下的Java文件:
bashdocker run -it --rm -v $(pwd):/src -w /src docker.xuanyuan.run/harisekhon/ubuntu-java:jdk8 javac Main.java
创建docker-compose.yml,定义一个依赖Java 8 JDK的服务:
yamlversion: '3' services: java-app: image: docker.xuanyuan.run/harisekhon/ubuntu-java:jdk8 container_name: java-dev-env volumes: - ./code:/app # 挂载本地代码目录 working_dir: /app command: bash -c "javac Main.java && java Main" # 编译并运行应用 environment: - JAVA_OPTS="-Xms512m -Xmx1g" # 自定义JVM参数
启动服务:
bashdocker-compose up
镜像预配置以下环境变量,可直接使用或覆盖:
| 环境变量 | 说明 | 默认值(以JDK 8为例) |
|---|---|---|
JAVA_HOME | Java安装路径 | /usr/lib/jvm/java-8-openjdk-amd64 |
PATH | 包含Java可执行文件路径 | 包含$JAVA_HOME/bin |
JAVA_OPTS | 可选JVM参数(用户自定义) | 无(可在运行时通过-e添加) |
自定义JVM参数
运行容器时通过-e覆盖JAVA_OPTS:
bashdocker run -it --rm -e JAVA_OPTS="-Xms1g -Xmx2g -XX:+UseG1GC" docker.xuanyuan.run/harisekhon/ubuntu-java:jre8 java $JAVA_OPTS -jar app.jar
暴露应用端口
若Java应用监听端口8080,需在运行时映射端口:
bashdocker run -it --rm -p 8080:8080 docker.xuanyuan.run/harisekhon/ubuntu-java:jre8 java -jar webapp.jar
如需从源码构建镜像,可克隆GitHub仓库并执行构建:
bash# 克隆仓库 git clone https://github.com/harisekhon/Dockerfiles.git cd Dockerfiles/ubuntu-java # 构建指定版本(如JDK 8) make build
注:默认构建基于最新Ubuntu的JDK 8,其他版本可通过检出对应分支(如
ubuntu-java-7)构建。
如遇镜像相关问题,可在GitHub仓库提交issue:
https://github.com/harisekhon/Dockerfiles/issues
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务