
library/websphere-liberty所有镜像均使用 Ubuntu 作为操作系统。如需基于通用基础镜像(Universal Base Image)的变体,请参阅 此仓库。有关镜像的更多信息,请参见 GitHub 仓库。
以下是支持的标签及其对应的 Dockerfile 链接:
kernel, kernel-java8-ibmjavakernel-java11-openj9kernel-java17-openj9full, latest, full-java8-ibmjavafull-java11-openj9full-java17-openj925.0.0.3-kernel-java8-ibmjava25.0.0.3-kernel-java11-openj925.0.0.3-kernel-java17-openj925.0.0.3-full-java8-ibmjava25.0.0.3-full-java11-openj925.0.0.3-full-java17-openj925.0.0.6-kernel-java8-ibmjava25.0.0.6-kernel-java11-openj925.0.0.6-kernel-java17-openj925.0.0.6-full-java8-ibmjava25.0.0.6-full-java11-openj925.0.0.6-full-java17-openj925.0.0.9-kernel-java8-ibmjava25.0.0.9-kernel-java11-openj925.0.0.9-kernel-java17-openj925.0.0.9-full-java8-ibmjava25.0.0.9-full-java11-openj925.0.0.9-full-java17-openj9标签说明:
kernel:仅包含 Liberty 内核,无额外运行时特性,推荐作为自定义镜像基础,可按需添加特性。full/latest:包含完整 Liberty 特性集,支持企业级功能和 Spring Boot 应用。25.0.0.3-*):对应特定版本修复包,格式为 <版本>-<类型>-<Java版本>-<JVM>。镜像默认以非 root 用户 1001(属于组 0)运行。扩展镜像时需确保文件和目录权限正确。
WebSphere Liberty 访问的所有目录已配置适当权限,若需访问其他位置,可临时切换至 root 用户修改:
dockerfileUSER root RUN mkdir -p /myFolder && chown -R 1001:0 /myFolder USER 1001
通过 COPY 或 ADD 复制的文件所有权为 root:0,需确保用户 1001 或组 0 有读和执行权限,方法如下:
chmod g+rx server.xml)。--chown=1001:0:
dockerfileCOPY --chown=1001:0 jvm.options /config/jvm.options
创建包含应用及配置的扩展镜像,确保环境一致性。以 kernel 标签为例:
dockerfileFROM websphere-liberty:kernel COPY --chown=1001:0 Sample1.war /config/dropins/ COPY --chown=1001:0 server.xml /config/ RUN configure.sh
构建并运行:
consoledocker build -t myapp . docker run -d -p 9080:9080 myapp
开发阶段可挂载应用或配置目录,避免频繁构建镜像:
consoledocker run -d -p 80:9080 -p 443:9443 \ -v /tmp/DefaultServletEngine/dropins/Sample1.war:/config/dropins/Sample1.war \ websphere-liberty:full
full 镜像内置 springBootUtility,支持拆分 Spring Boot 应用为瘦应用和库缓存。kernel 镜像可通过启用 springBoot-1.5/2.0 特性支持 Spring Boot。
dockerfileFROM websphere-liberty:kernel COPY --chown=1001:0 hellospringboot.jar /config/dropins/spring/ COPY --chown=1001:0 server.xml /config/ RUN configure.sh
构建并运行:
consoledocker build -t spring-app . docker run -d -p 9080:9080 spring-app
优化镜像层,拆分应用与依赖:
dockerfileFROM websphere-liberty:kernel as staging COPY --chown=1001:0 hellospringboot.jar /staging/myFatApp.jar COPY --chown=1001:0 server.xml /config/ RUN springBootUtility thin \ --sourceAppPath=/staging/myFatApp.jar \ --targetThinAppPath=/staging/myThinApp.jar \ --targetLibCachePath=/staging/lib.index.cache FROM websphere-liberty:kernel COPY --chown=1001:0 server.xml /config COPY --from=staging /staging/lib.index.cache /lib.index.cache COPY --from=staging /staging/myThinApp.jar /config/dropins/spring/myThinApp.jar RUN configure.sh
默认生成自签名证书密钥库。如需自定义,构建镜像时添加 /config/configDropins/defaults/keystore.xml(可包含空 <server></server> 禁用默认行为)。
通过共享 /opt/ibm/wlp/output/.classCache 提升性能:
consoledocker run -d -p 80:9080 -v /tmp/classCache:/opt/ibm/wlp/output/.classCache myapp
挂载临时文件系统至写入目录:
consoledocker run -d -p 80:9080 -p 443:9443 \ --tmpfs /opt/ibm/wlp/output --tmpfs /logs -v /config --read-only \ websphere-liberty:full
安装语言包并设置 LANG:
dockerfileFROM websphere-liberty:full RUN apt-get update \ && apt-get install -y language-pack-pt-base \ && rm -rf /var/lib/apt/lists/* ENV LANG pt_BR.UTF-8
Dockerfile 及相关脚本基于 Apache License 2.0 许可。WebSphere Liberty 18.0.0.3 及以上镜像包含非担保程序国际许可协议(ILAN),授权用户可根据国际程序许可协议(IPLA)条款使用。镜像中其他软件的许可信息可在 repo-info 仓库 查看。使用前请确保遵守所有软件许可条款。
amd64、arm64v8、ppc64le、s390x(详情)manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务