本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
本仓库是s390x架构的open-liberty官方镜像的"每架构"仓库,基于Ubuntu操作系统构建。所有镜像默认使用非root用户运行,旨在提供轻量级、可扩展的Java应用服务器环境,用于部署和运行Java EE、Jakarta EE及微服务应用。
注意:如需使用基于通用基础镜像(Universal Base Image)的变体,请参见openliberty/open-liberty仓库。
amd64、arm64v8、ppc64le、s390x(本仓库为s390x架构专用)USER 1001(组0)运行,降低容器权限风险。springBootUtility工具,支持Spring Boot应用的瘦应用打包和依赖缓存。kernel-slim构建仅包含必要特性的最小化应用镜像。full镜像快速启动开发或测试环境。以下为s390x架构镜像支持的主要标签及其对应的Dockerfile链接:
beta:基于Java 8 Dockerfilebeta-java11:基于Java 11 Dockerfilebeta-java17:基于Java 17 Dockerfilekernel-slim、kernel-slim-java8-openj9:Java 8 Dockerfilekernel-slim-java11-openj9:Java 11 Dockerfilekernel-slim-java17-openj9:Java 17 Dockerfilefull、full-java8-openj9、latest:Java 8 Dockerfilefull-java11-openj9:Java 11 Dockerfilefull-java17-openj9:Java 17 Dockerfile如25.0.0.6-kernel-slim-java8-openj9、25.0.0.10-full-java17-openj9等,包含具体版本号,适合需要版本固定的生产环境。
镜像默认以非root用户1001(组0)运行。扩展镜像时如需访问额外目录,需临时切换至root用户调整权限:
USER root RUN mkdir -p /myFolder && chown -R 1001:0 /myFolder # 授予用户1001对/myFolder的权限 USER 1001 # 切换回非root用户
通过COPY或ADD复制文件到镜像时,需确保文件可被用户1001或组0读写执行:
COPY --chown=1001:0 server.xml /config/ # 直接指定所有者为1001:0
chmod g+rx server.xml # 确保组0有读/执行权限
USER root RUN chown 1001:0 /config/server.xml USER 1001
推荐基于kernel-slim构建仅包含必要特性的应用镜像,步骤如下:
创建Dockerfile:
FROM s390x/open-liberty:kernel-slim # 复制服务器配置(声明所需特性) COPY --chown=1001:0 server.xml /config/ # 下载server.xml中声明的特性(仅kernel-slim支持) RUN features.sh # 复制应用到dropins目录 COPY --chown=1001:0 Sample1.war /config/dropins/ # 应用配置、应用临时修复并优化运行时缓存 RUN configure.sh
构建镜像:
docker build -t my-openliberty-app .
运行容器:
docker run -d -p 9080:9080 my-openliberty-app
开发阶段可通过卷挂载动态加载配置和应用:
# 挂载应用WAR包到dropins目录 docker run -d -p 9080:9080 -p 9443:9443 \ -v /local/path/Sample1.war:/config/dropins/Sample1.war \ s390x/open-liberty:full # 挂载整个服务器配置目录 docker run -d -p 9080:9080 \ -v /local/path/server-config:/config \ s390x/open-liberty:full
通过Dockerfile中的ARG参数启用企业功能(如会话缓存、监控),由configure.sh脚本应用配置:
FROM s390x/open-liberty:kernel-slim # 启用会话缓存和监控 ARG ENABLE_SESSION_CACHE=true ARG ENABLE_MONITORING=true COPY --chown=1001:0 server.xml /config/ RUN features.sh && configure.sh # configure.sh会应用ARG对应的XML片段
FROM s390x/open-liberty:kernel-slim # 复制Spring Boot应用到dropins/spring目录(仅支持单个应用) COPY --chown=1001:0 hellospringboot.jar /config/dropins/spring/ COPY --chown=1001:0 server.xml /config/ # server.xml需启用springBoot-2.0特性 RUN configure.sh
# 阶段1:生成瘦应用和依赖缓存 FROM s390x/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 s390x/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
默认情况下,镜像会生成自签名证书并在/config/configDropins/defaults/keystore.xml中配置密钥库。如需禁用默认行为或使用自定义密钥库:
禁用默认密钥库生成:
ENV KEYSTORE_REQUIRED "false"
添加自定义密钥库:
COPY --chown=1001:0 mykeystore.jks /config/resources/security/ # 在server.xml或configDropins/defaults/keystore.xml中配置密钥库
通过共享类缓存文件加速JVM启动,步骤如下:
使用主机目录共享缓存:
docker run -d -p 9080:9080 \ -v /host/path/classCache:/opt/ol/wlp/output/.classCache \ my-openliberty-app
使用数据卷容器共享缓存:
# 创建数据卷容器 docker run -v /opt/ol/wlp/output/.classCache --name classcache s390x/open-liberty true # 运行应用容器,挂载缓存卷 docker run -d -p 9080:9080 --volumes-from classcache my-openliberty-app
Liberty运行时需写入/opt/ol/wlp/output和/logs目录,只读模式下需将其挂载为临时文件系统:
docker run -d -p 9080:9080 -p 9443:9443 \ --tmpfs /opt/ol/wlp/output --tmpfs /logs \ # 临时文件系统 -v /host/config:/config \ # 挂载配置目录(需可写,或预构建密钥库) --read-only \ s390x/open-liberty:full
# 启动完整版镜像,映射HTTP(9080)/HTTPS(9443)端口 docker run -d -p 9080:9080 -p 9443:9443 --name liberty s390x/open-liberty:full
创建docker-compose.yml:
version: '3.8' services: liberty-app: image: s390x/open-liberty:kernel-slim build: . # 基于当前目录Dockerfile构建 ports: - "9080:9080" - "9443:9443" volumes: - ./config:/config # 本地配置目录(开发用) - classcache:/opt/ol/wlp/output/.classCache # 类缓存卷 environment: - KEYSTORE_REQUIRED=true # 启用默认密钥库生成 volumes: classcache: # 命名卷,共享类缓存
启动服务:
docker-compose up -d
| 环境变量 | 说明 | 默认值 |
|---|---|---|
KEYSTORE_REQUIRED | 是否生成默认密钥库配置(true/false) | true |
WebSphere Liberty是Open Liberty的商业发行版,两者镜像兼容,可通过修改FROM指令切换:
/opt/ol/opt/ibm切换示例:
# FROM s390x/open-liberty:kernel-slim FROM s390x/websphere-liberty:kernel-slim # 切换为商业版
镜像中软件的许可证信息参见Open Liberty LICENSE。
镜像可能包含基础系统(如Ubuntu)及依赖软件,其许可证信息可在repo-info仓库中查询。
使用前请确保符合所有包含软件的许可证要求。

免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429