镜像概述和主要用途
Liberica JDK是BellSoft开发的免费且100%开源的渐进式Java运行时,专为现代Java部署设计。作为主要OpenJDK贡献者,BellSoft提供的Liberica JDK支持广泛的架构和操作系统,是桌面、服务器、云和嵌入式等多场景的统一Java运行时解决方案。该镜像基于Alpine Linux musl构建,提供轻量级容器化部署选项,已被Spring推荐为Spring Native应用的端到端解决方案。
核心功能和特性
灵活性
支持当前最广泛的架构和操作系统,满足桌面、服务器、云和嵌入式等多样化部署需求,实现跨环境统一运行时。
成本与时间高效
基于Liberica Lite和Alpine Linux构建的容器体积极小(仅42.72 MB),比传统CentOS或Debian基础镜像小5-7倍,显著降低云资源消耗,加速部署流程。
安全性
- 通过Java SE规范的TCK验证,确保兼容性
- 每版发布前均经过全面安全漏洞测试
- 遵循CPU发布周期,及时提供安全补丁和错误修复,持续保障运行时安全与性能
如何选择合适的Java镜像
BellSoft提供交互式方案帮助选择最适合项目的镜像:
!如何选择合适的Java镜像
镜像内容说明
本仓库包含基于Alpine musl的Liberica JRE Docker镜像。Alpine Linux是轻量级Linux发行版,基础镜像仅约5MB,可最小化容器体积。BellSoft自JDK 11起提供Alpine musl版本的Liberica JDK镜像,并通过Portola项目将该系统支持上游至JDK 16及更高版本,当前提供市场上最小的兼容容器(42.72 MB)。
核心优势
- 体积比传统镜像小5-7倍,大幅降低云资源消耗
- 加速部署时间,提升交付效率
- 持续快速引入修复和增强,确保容器始终安全高效
支持架构
- x86_64(amd64)
- aarch64(ARM64)
- armhf(适用于树莓派2/3等设备)
标签结构说明
标签格式为X-Y,其中:
X 表示Java版本
Y 表示架构类型(若未指定,默认支持AMD64和ARM64)
- 含
-cds的标签包含类数据共享(CDS)归档
latest标签指向最新版本
示例:bellsoft/liberica-openjre-alpine-musl:17.0.5-aarch64 表示适用于AArch64架构、Alpine musl系统的Liberica JRE 17.0.5版本镜像。
Alpaquita Linux:Alpine的免费高级替代品
Alpaquita 是BellSoft推出的轻量级Linux发行版,集成Alpine的所有核心功能,并增加多项增强特性和企业级支持。与Alpine相比,Alpaquita具有以下优势:
- 同时支持musl和glibc
- 提供优化版musl库
- 更高安全性:内核硬化、安全启动支持等
- 多项性能增强
- 企业级支持:统一组件测试与兼容性验证,按需提供修复,长期支持(LTS)及软件物料清单(SBOM)
Alpaquita与Liberica JDK的容器组合是Alpine方案的免费更优替代,可在 https://hub.docker.com/r/bellsoft/liberica-runtime-container 获取。
标签列表
- https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/25/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/25/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/25/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/25/Dockerfile
- https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/24/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/24/Dockerfile
- https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/23/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/23/Dockerfile
- https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/22/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/22/Dockerfile
- https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/21/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/21/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/21/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/21/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/21/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/21/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/21/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/21/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/21/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/21/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/21/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/21/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/21/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/21/Dockerfile
- https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/old/20/Dockerfile
- https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/old/19/Dockerfile
- https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/old/18/Dockerfile
- https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/17/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/17/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/17/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/17/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/17/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/17/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/17/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/17/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/17/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/17/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/17/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/17/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/17/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/17/Dockerfile
- https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/old/16/Dockerfile
- https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/old/15/Dockerfile
- https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/11/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/11/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/11/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/11/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/11/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/11/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/11/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/11/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/11/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/11/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/11/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/11/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/11/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/11/Dockerfile
- https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/old/10.0.2/Dockerfile
- https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/old/9.0.4/Dockerfile%EF%BC%88%E4%BB%85armhf%E6%9E%B6%E6%9E%84%EF%BC%8C%E9%80%82%E7%94%A8%E4%BA%8E%E6%A0%91%E8%8E%93%E6%B4%BE2/3%EF%BC%89
- https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/8/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/8/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/8/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/8/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/8/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/8/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/8/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/8/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/8/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/8/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/8/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/8/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/8/Dockerfile, https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjre-alpine-musl/8/Dockerfile%EF%BC%88%E4%BB%85amd64%E5%92%8Caarch64%E6%9E%B6%E6%9E%84%EF%BC%89
使用方法
基本运行示例
运行Liberica OpenJRE容器并查看版本:
shell
docker run -it --rm bellsoft/liberica-openjre-alpine-musl:8u272 java -version
运行应用程序
可通过两种方式运行应用:
-
基于该镜像创建Dockerfile
编写自定义Dockerfile,将应用程序集成到镜像中。
-
挂载卷运行
将本地应用目录挂载