arm64v8/open-libertyarm64v8/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:

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务