
由 The SapMachine Team(SAP 官方团队)维护。
可通过邮件 *** 获取官方支持。
标签命名规则:Java版本-组件类型-基础镜像-基础镜像版本,核心分类如下(简化高频标签,完整列表见 Docker Hub):
Ubuntu 24.04(Noble)基础镜像
Java 11(LTS)标签:
Java 17(LTS)标签:
Java 21(LTS)标签:
Java 25 标签:
Ubuntu 22.04(Jammy)基础镜像
Alpine 3.22 基础镜像
简化标签
SapMachine GitHub 仓库:https://github.com/SAP/SapMachine%EF%BC%88%E5%8F%AF%E5%8F%82%E8%80%83 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 许可页面 https://sap.github.io/SapMachine/license.html%EF%BC%89%E3%80%82
以下是 sapmachine 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务