library/sapmachine 是 SAP 官方提供的 OpenJDK 二进制分发版 Docker 镜像,基于 SapMachine 构建——这是 SAP 开发、质量测试并长期支持的 OpenJDK 衍生版本,兼容 Java SE 标准。该镜像支持 Java 11、17、21(长期支持 LTS 版本)及 25(最新版本),适配 Ubuntu(Noble/Jammy)、Alpine(3.21/3.22)等基础镜像,提供 JDK、JRE、无头(Headless)等多种变体,满足企业级 Java 应用(如 Spring Boot 微服务、SAP 自研系统)在容器化环境中的部署需求,同时覆盖 amd64、arm64v8、ppc64le 多架构场景。
收藏数: 55
下载次数: 23677422
状态: active
发布者: library
类型: 镜像

library/sapmachine由 The SapMachine Team(SAP 官方团队)维护。
可通过邮件 *** 获取官方支持。
标签命名规则:Java版本-组件类型-基础镜像-基础镜像版本,核心分类如下(简化高频标签,完整列表见 Docker Hub):
Java 11(LTS)标签:
Java 17(LTS)标签:
Java 21(LTS)标签:
Java 25 标签:
SapMachine GitHub 仓库:[***] SapMachine Wiki 获取更多信息)
amd64(x86-64)、arm64v8(ARM 64 位)、ppc64le(PowerPC 64 位小端序)
包含元数据、传输大小等信息,可查看 repo-info 仓库的 repos/sapmachine/ 目录(历史记录)。
docs 仓库的 sapmachine/ 目录(历史记录)
SapMachine 是 SAP 推出的 OpenJDK 官方兼容分发版,核心特性如下:
直接拉取镜像并运行 java -version 验证环境:
bash# 拉取最新 LTS 版本(如 Java 21) docker pull library/sapmachine:latest # 运行容器并查看 Java 版本 docker run -it --rm library/sapmachine:latest java -version # 输出示例:openjdk version "21.0.8" 2024-07-16 LTS # SapMachine Runtime Environment (build 21.0.8+9-LTS) # OpenJDK 64-Bit Server VM (build 21.0.8+9-LTS, mixed mode)
创建 Dockerfile,基于 SapMachine 部署预编译的 JAR 包(如 myapp.jar):
dockerfile# 选择 Java 17 LTS 的 JDK 镜像(Ubuntu Jammy 基础,兼容性更广) FROM library/sapmachine:17-jdk-ubuntu-jammy # 创建应用目录(避免权限问题,使用非 root 用户) RUN mkdir -p /opt/myapp && chown -R sapmachine:sapmachine /opt/myapp USER sapmachine # 复制 JAR 包到容器 COPY --chown=sapmachine:sapmachine myapp.jar /opt/myapp/ # 启动命令(运行 JAR 包) CMD ["java", "-jar", "/opt/myapp/myapp.jar"]
构建并运行镜像:
bash# 构建镜像(标签为 my-java-app) docker build -t my-java-app . # 后台运行容器(映射端口 8080) docker run -d -p 8080:8080 --name my-app-container my-java-app
Alpine 基础镜像体积仅约 5MB,适合追求镜像轻量化的场景(注意:Alpine 使用 musl libc,部分依赖 glibc 的 Java 库需适配):
dockerfile# 选择 Java 21 LTS 的 JRE-headless 镜像(无 GUI,更轻量) FROM library/sapmachine:21-jre-headless-alpine-3.22 # 复制 JAR 包(Alpine 镜像默认使用 root 用户,可按需调整) COPY myapp.jar /opt/ # 启动命令(限制 JVM 内存,适配容器环境) CMD ["java", "-Xmx512m", "-jar", "/opt/myapp.jar"]
构建运行:
bashdocker build -t my-lightweight-app . docker run -it --rm -p 8080:8080 my-lightweight-app
SapMachine 镜像提供多种变体,需根据场景选择:
JDK
JRE
JDK-headless
JRE-headless
Ubuntu 基础
Alpine 基础
使用前请确保遵守所有包含软件的许可条款,商业场景需确认 GPLv2 Classpath Exception 的适用范围(详见 SapMachine 许可页面 [***]
以下是 sapmachine 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务