sapmachine

amd64/sapmachine Docker 镜像

官方SapMachine Docker镜像,由SAP构建的OpenJDK,提供Java运行环境。

下载次数: 0状态:社区镜像维护者:amd64仓库类型:镜像最近更新:4 天前
下载命令
点击查看

SapMachine Docker 镜像文档

镜像概述

SapMachine 是 https://openjdk.org/ 的二进制发行版,由 SAP 构建、质量测试并提供长期支持。作为 SAP 业务技术平台 (SAP Business Technology Platform) 的默认 Java 运行时,SapMachine 也被 https://github.com/cloudfoundry/java-buildpack 支持为标准 JRE。更多信息请访问 SapMachine 官方网站。

注意:本镜像为 amd64 架构专用版本,是 https://hub.docker.com/_/sapmachine 的架构特定仓库。有关其他架构的信息,请参考 https://github.com/docker-library/official-images#architectures-other-than-amd64。

核心功能与特性

  • 官方构建与支持:由 SAP 官方构建、测试并提供长期支持,确保与 SAP 产品生态的兼容性。
  • 多 Java 版本覆盖:支持 Java 11、17、21、25 等多个版本,包括长期支持 (LTS) 版本。
  • 多样化基础镜像:基于 Ubuntu (Noble 24.04、Jammy 22.04) 和 Alpine Linux (3.21、3.22),满足不同场景需求。
  • 灵活的镜像变体:提供 JDK、JDK-headless、JRE、JRE-headless 等变体,适配开发、构建和运行时场景。
  • 架构支持:专注于 amd64 架构,其他架构(如 arm64v8、ppc64le)可参考 https://hub.docker.com/_/sapmachine。

支持的标签

SapMachine 镜像标签包含 Java 版本、基础操作系统、JDK/JRE 类型等信息,以下为主要标签分类及示例(完整标签列表见 https://github.com/SAP/SapMachine-infrastructure):

Java 25 (最新版本)

  • Ubuntu 基础镜像(Noble 24.04、Jammy 22.04):
    • JDK:latest、25、25-ubuntu、25-jdk-ubuntu-noble
    • JDK-headless:jdk-headless、25-jdk-headless-ubuntu
    • JRE:jre、25-jre-ubuntu-24.04
    • JRE-headless:jre-headless、25-jre-headless-ubuntu-jammy
  • Alpine 基础镜像(3.22、3.21):
    • JDK:alpine、25-alpine-3.22、25-jdk-alpine
    • JRE:jre-alpine、25-jre-alpine-3.21

Java 21 (LTS 版本)

  • 主要标签:21、21.0.8、21-jdk-ubuntu、21-jre-alpine-3.22

Java 17 (LTS 版本)

  • 主要标签:17、17.0.16、17-jdk-ubuntu-jammy、17-jre-alpine-3.21

Java 11 (LTS 版本)

  • 主要标签:11、11.0.28、11-jdk-headless-ubuntu-noble、11-jre-ubuntu-22.04

完整标签及对应 Dockerfile 链接可参考 https://github.com/SAP/SapMachine-infrastructure/tree/main/dockerfiles。

使用场景

  • Java 应用开发与测试:提供完整 JDK 环境,适用于编译、调试 Java 应用。
  • 生产环境运行时:轻量级 JRE 或 JRE-headless 变体可作为生产环境 Java 应用的运行时基础。
  • SAP 生态应用部署:为 SAP 业务技术平台或基于 SAP 技术栈的应用提供兼容运行时。
  • 容器化微服务:Alpine 变体镜像体积小,适合构建轻量级微服务容器。

使用方法

基础使用

拉取镜像并验证版本

bash
docker pull docker.xuanyuan.run/amd64/sapmachine:latest
docker run -it --rm docker.xuanyuan.run/amd64/sapmachine:latest java -version

运行 Java 应用

以 JAR 包为例,创建自定义 Dockerfile:

dockerfile
FROM docker.xuanyuan.run/amd64/sapmachine:latest
WORKDIR /opt/myapp
COPY myapp.jar .
CMD ["java", "-jar", "myapp.jar"]

构建并运行自定义镜像:

bash
docker build -t myapp .
docker run -it --rm -p 8080:8080 docker.xuanyuan.run/myapp

Docker Compose 示例

创建 docker-compose.yml:

yaml
version: '3.8'
services:
  app:
    image: docker.xuanyuan.run/amd64/sapmachine:21-jre-alpine-3.22
    container_name: sapmachine-app
    volumes:
      - ./myapp.jar:/opt/myapp/myapp.jar
    working_dir: /opt/myapp
    command: ["java", "-jar", "myapp.jar"]
    ports:
      - "8080:8080"

启动服务:

bash
docker-compose up -d

镜像变体说明

amd64/sapmachine:<version> (默认 Ubuntu 变体)

基于 Ubuntu 系统(如 Noble 24.04、Jammy 22.04),包含完整依赖,适合大多数场景。若需安装额外系统包,建议指定具体 Ubuntu 版本标签(如 25-ubuntu-24.04)以避免兼容性问题。

amd64/sapmachine:<version>-alpine (Alpine 变体)

基于 https://alpinelinux.org,镜像体积更小(基础镜像约 5MB),适合对镜像大小敏感的场景。注意:Alpine 使用 https://musl.libc.org 而非 glibc,部分依赖 glibc 的应用可能需要适配。

配置说明

环境变量

  • JAVA_OPTS:可通过该变量传递 JVM 参数,例如:
    bash
    docker run -it --rm -e JAVA_OPTS="-Xmx512m -Xms256m" docker.xuanyuan.run/amd64/sapmachine:latest java $JAVA_OPTS -version
    

数据持久化

通过挂载卷实现应用数据或配置文件的持久化:

bash
docker run -it --rm -v ./config:/opt/myapp/config docker.xuanyuan.run/amd64/sapmachine:latest java -jar /opt/myapp/myapp.jar

支持信息

  • 维护者:https://github.com/SAP/SapMachine
  • 获取帮助:发送邮件至 ***
  • 提交 issue:https://github.com/SAP/SapMachine/issues
  • 支持架构:amd64、arm64v8、ppc64le(其他架构镜像见 https://hub.docker.com/r/arm64v8/sapmachine/)
  • 镜像元数据:https://github.com/docker-library/repo-info/tree/master/repos/sapmachine(包含镜像元数据、传输大小等)

许可协议

  • Dockerfile 及相关脚本:采用 http://www.apache.org/licenses/LICENSE-2.0.html 许可。
  • SapMachine 产品:采用 https://github.com/SAP/SapMachine/blob/sapmachine/LICENSE。

镜像中包含的其他软件(如基础系统的 Bash 等)可能采用不同许可协议,用户需自行确保其使用符合所有相关许可要求。更多许可信息可参考 https://github.com/docker-library/repo-info/tree/master/repos/sapmachine。

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 sapmachine 镜像标签

docker pull docker.xuanyuan.run/amd64/sapmachine:<标签>

DockerHub 原生拉取命令

docker pull amd64/sapmachine:<标签>
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载在线技术支持专业版保障服务可用付费会员免广告