arm64v8/open-liberty 是 Open Liberty ***镜像的 arm64v8 架构专用版本,基于 Ubuntu 操作系统构建,用于在 64 位 ARM 架构环境中运行企业级 Java 应用。Open Liberty 是一款轻量级、模块化的开源 Java 运行时,支持 Java EE 和 MicroProfile 规范,适用于构建和部署微服务及传统企业应用。
features.sh 脚本动态扩展)1001(组 0)运行,增强安全性kernel-slim 标签仅包含核心运行时,可按需扩展功能,减小镜像体积full 标签包含所有 Open Liberty 功能,开箱即用springBootUtility 工具,支持 Spring Boot 应用的瘦打包和依赖缓存amd64、ppc64le、s390x 等架构的 Open Liberty 镜像保持配置一致性kernel-slim 构建最小化微服务镜像,降低资源消耗springBootUtility 优化 Spring Boot 应用的容器化部署| 标签类型 | 说明 | 示例标签 |
|---|---|---|
beta | 包含最新测试版功能,不建议生产使用 | beta、beta-java11 |
kernel-slim | 仅含核心运行时,需通过 features.sh 动态添加功能(推荐用于自定义镜像) | kernel-slim、kernel-slim-java17-openj9 |
full | 包含所有 Open Liberty 功能,开箱即用 | full、full-java11-openj9、latest |
标签格式:[版本号-]类型[-java<版本>-openj9]
25.0.0.6(可选,默认使用最新稳定版)beta、kernel-slim、fulljava8、java11、java17(默认Java 8)openj9(IBM OpenJ9 JVM)docker run 命令)bashdocker run -d -p 9080:9080 -p 9443:9443 arm64v8/open-liberty:full
bashdocker run -d -p 9080:9080 \ -v /本地路径/Sample1.war:/config/dropins/Sample1.war \ arm64v8/open-liberty:full
/config/dropins 目录,服务器自动部署kernel-slim 构建最小化应用镜像dockerfile# 使用 kernel-slim 作为基础镜像(仅含核心功能) FROM arm64v8/open-liberty:kernel-slim # 复制应用配置文件(声明所需功能) COPY --chown=1001:0 server.xml /config/ # 动态添加 server.xml 中声明的功能(仅 kernel-slim 支持) RUN features.sh # 复制应用 WAR 包到 dropins 目录 COPY --chown=1001:0 Sample1.war /config/dropins/ # 优化服务器配置(应用临时修复、预缓存等) RUN configure.sh
构建并运行:
bashdocker build -t my-openliberty-app . docker run -d -p 9080:9080 my-openliberty-app
镜像默认以非 root 用户 1001(组 0)运行。所有 Open Liberty 访问的目录已预设权限,若需扩展其他目录权限,需临时切换至 root 用户:
dockerfileUSER root RUN mkdir -p /myFolder && chown -R 1001:0 /myFolder # 授予用户 1001 对 /myFolder 的权限 USER 1001 # 切回非 root 用户
通过 COPY/ADD 复制文件到容器时,需确保文件对用户 1001 或组 0 有读/执行权限:
dockerfileCOPY --chown=1001:0 server.xml /config/ # 直接设置所有者为 1001:0
bashchmod g+rx server.xml # 确保组有读/执行权限
| 环境变量 | 说明 | 默认值 |
|---|---|---|
KEYSTORE_REQUIRED | 是否自动生成默认密钥库(keystore.xml) | "true" |
WLP_OUTPUT_DIR | 服务器输出目录(日志、临时文件等) | /opt/ol/wlp/output |
LOG_DIR | 日志文件目录 | /logs |
dockerfileFROM arm64v8/open-liberty:kernel-slim # 复制 Spring Boot JAR 和配置文件 COPY --chown=1001:0 hellospringboot.jar /config/dropins/spring/ COPY --chown=1001:0 server.xml /config/ # 配置服务器(自动扩展所需功能) RUN configure.sh
利用 springBootUtility 工具分离依赖,优化镜像层:
dockerfile# 阶段1:生成瘦应用和依赖缓存 FROM arm64v8/open-liberty:kernel-slim as staging COPY --chown=1001:0 hellospringboot.jar /staging/fat.jar RUN springBootUtility thin \ --sourceAppPath=/staging/fat.jar \ --targetThinAppPath=/staging/thin.jar \ --targetLibCachePath=/staging/lib.index.cache # 阶段2:构建最终镜像 FROM arm64v8/open-liberty:kernel-slim COPY --chown=1001:0 server.xml /config/ COPY --from=staging /staging/lib.index.cache /lib.index.cache # 复制依赖缓存 COPY --from=staging /staging/thin.jar /config/dropins/spring/ # 复制瘦应用 RUN configure.sh
默认情况下,镜像会自动生成密钥库。若需使用自定义密钥库,需:
ENV KEYSTORE_REQUIRED "false"keystore.xml 复制到 /config/configDropins/defaults/:dockerfileCOPY --chown=1001:0 keystore.xml /config/configDropins/defaults/
需将可写目录挂载为临时文件系统:
bashdocker run -d -p 9080:9080 \ --read-only \ --tmpfs /opt/ol/wlp/output \ # 临时存储输出文件 --tmpfs /logs \ # 临时存储日志 -v /本地路径/config:/config \ # 挂载配置目录(需包含预生成的密钥库) arm64v8/open-liberty:full
kernel-slim vs full| 特性 | kernel-slim | full |
|---|---|---|
| 功能集 | 仅核心运行时,需动态添加功能 | 包含所有 Open Liberty 功能 |
| 镜像体积 | 较小(约 300MB) | 较大(约 1GB) |
| 用途 | 构建最小化自定义镜像 | 快速测试、开发环境、功能齐全场景 |
| 扩展方式 | 通过 features.sh 动态添加功能 | 无需扩展,直接使用所有功能 |
WebSphere Liberty 是 Open Liberty 的商业发行版,两者镜像兼容,可通过修改 FROM 语句切换:
dockerfile# 从 Open Liberty 切换到 WebSphere Liberty FROM websphere-liberty:full-java11-openj9
差异点:
/opt/ol/opt/ibmyamlversion: '3.8' services: open-liberty: image: arm64v8/open-liberty:full-java17-openj9 ports: - "9080:9080" # HTTP - "9443:9443" # HTTPS volumes: - ./server.xml:/config/server.xml # 挂载自定义配置 - app-data:/config/dropins # 持久化应用部署目录 - class-cache:/opt/ol/wlp/output/.classCache # 共享类缓存 environment: - KEYSTORE_REQUIRED=false # 使用自定义密钥库 user: "1001:0" restart: unless-stopped volumes: app-data: class-cache:

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429