
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
bellsoft/liberica-openjre-alpine 是基于 Alpine Linux glibc 的 Liberica JRE 容器镜像。Liberica JRE 是 BellSoft 开发的 100% 开源 Java 运行时,通过 Java SE 规范的 TCK 验证,适用于现代 Java 应用部署。该镜像结合 Alpine Linux 的轻量级特性(基础镜像约 5MB)与 glibc 兼容性,提供了体积小、性能高且安全的 Java 运行环境,适合构建和运行 Java 微服务、云原生应用及嵌入式系统。
-cds 后缀)集成 Class Data Sharing 归档,加速 JVM 启动。BellSoft 提供交互式指南帮助选择最优镜像:
!https://download.bell-sw.com/static/images/how-to-choose-optimal-java-image.jpg
X-Y,其中 X 为 Java 版本,Y 为架构类型(如 x86_64、aarch64)。latest 标签指向最新版本。-cds 后缀的标签集成 Class Data Sharing(CDS)归档,优化启动性能。| Java 版本 | 标签示例(部分) | 架构支持 |
|---|---|---|
| 25 | 25、25-cds、latest、latest-cds | amd64、aarch64 |
| 21 | 21、21-cds、21.0.8、21.0.8-cds | amd64、aarch64 |
| 17 | 17、17-cds、17.0.16、17.0.16-cds | amd64、aarch64 |
| 11 | 11、11-cds、11.0.28、11.0.28-cds | amd64、aarch64 |
| 8 | 8、8-cds、8u462、8u462-cds | amd64、aarch64 |
注:完整标签列表可参考 https://hub.docker.com/r/bellsoft/liberica-openjre-alpine%E3%80%82
通过 docker run 命令启动容器并验证 Java 版本:
shelldocker run -it --rm docker.xuanyuan.run/bellsoft/liberica-openjre-alpine:latest java -version
方法 1:挂载本地应用目录
将本地 Java 应用(如 JAR 文件)挂载到容器中运行:
shelldocker run -it --rm -v /path/to/local/app:/app docker.xuanyuan.run/bellsoft/liberica-openjre-alpine:17 java -jar /app/MyApplication.jar
方法 2:基于镜像构建自定义 Dockerfile
创建 Dockerfile 集成应用:
dockerfileFROM docker.xuanyuan.run/bellsoft/liberica-openjre-alpine:17 WORKDIR /app COPY target/MyApplication.jar /app/ CMD ["java", "-jar", "MyApplication.jar"]
构建并运行:
shelldocker build -t my-java-app . docker run -it --rm docker.xuanyuan.run/my-java-app
容器化部署中若涉及屏幕外渲染(如文档生成、图像处理),JDK 需要依赖系统字体和 fontconfig 库。缺少这些依赖会导致类似以下异常:
shellException in thread "main" java.lang.InternalError: java.lang.reflect.InvocationTargetException ... Caused by: java.lang.NullPointerException at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262)
安装 fontconfig 和 ttf-dejavu 依赖:
运行时安装(临时测试):
shelldocker run -it --rm docker.xuanyuan.run/bellsoft/liberica-openjre-alpine:17 sh -c "apk add fontconfig ttf-dejavu && java -jar /app/MyApplication.jar"
构建时集成(推荐):
通过 --build-arg 指定额外依赖包 OPT_PKGS:
shelldocker build -t bellsoft/liberica-openjre-alpine:custom \ --build-arg LIBERICA_VERSION=17.0.16 \ --build-arg OPT_PKGS="fontconfig ttf-dejavu" \ https://github.com/bell-sw/Liberica.git#master:docker/repos/liberica-openjre-alpine/17
https://bell-sw.com/alpaquita-linux/ 是 BellSoft 开发的轻量级 Linux 发行版,集成 Alpine 的核心特性并增强企业级功能,是容器化部署的更优选择:
相关容器镜像可访问:https://hub.docker.com/r/bellsoft/liberica-runtime-container%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务