s390x/websphere-liberty注意:这是websphere-liberty官方镜像的s390x架构专用仓库——更多信息,请参见官方镜像文档中的“非amd64架构?”和官方镜像FAQ中的“Git中的镜像源已更改,该怎么办?”。
维护者:
IBM WASdev社区
获取帮助:
WASdev社区
Dockerfile链接kernel, kernel-java8-ibmjava
kernel-java11-openj9
kernel-java17-openj9
full, latest, full-java8-ibmjava
full-java11-openj9
full-java17-openj9
25.0.0.6-kernel-java8-ibmjava
25.0.0.6-kernel-java11-openj9
25.0.0.6-kernel-java17-openj9
25.0.0.6-full-java8-ibmjava
25.0.0.6-full-java11-openj9
25.0.0.6-full-java17-openj9
25.0.0.9-kernel-java8-ibmjava
25.0.0.9-kernel-java11-openj9
25.0.0.9-kernel-java17-openj9
25.0.0.9-full-java8-ibmjava
25.0.0.9-full-java11-openj9
25.0.0.9-full-java17-openj9
25.0.0.10-kernel-java8-ibmjava
25.0.0.10-kernel-java11-openj9
25.0.0.10-kernel-java17-openj9
25.0.0.10-full-java8-ibmjava
25.0.0.10-full-java11-openj9
25.0.0.10-full-java17-openj9
问题提交地址:
[***]
支持的架构:(更多信息)
amd64, arm64v8, ppc64le, s390x
已发布镜像 artifact 详情:
repo-info仓库的repos/websphere-liberty/目录 (历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images仓库的library/websphere-liberty标签
official-images仓库的library/websphere-liberty文件 (历史记录)
本描述的来源:
docs仓库的websphere-liberty/目录 (历史记录)
本仓库中的所有镜像均使用Ubuntu作为操作系统。对于使用Universal Base Image的变体,请参见此仓库。有关这些镜像的更多信息,请参见我们的GitHub仓库。
此镜像默认以USER 1001(非root)身份运行,属于组0。请确保阅读以下内容以设置适当的文件夹和文件权限。
WebSphere Liberty访问的所有文件夹均已设置适当权限,但如果您的扩展Dockerfile需要访问其他位置的权限,只需临时切换到root用户并提供所需权限,例如:
dockerfileUSER root RUN mkdir -p /myFolder && chown -R 1001:0 /myFolder USER 1001
您必须确保通过COPY或ADD复制到镜像中的所有工件具有用户1001或组0可读取和执行的正确权限,因为文件传输到Docker镜像时所有权会更改为root:0。
您有几种设置权限的方式:复制前、复制时或复制后。
由于文件所有权会更改为root:0,您只需为所有者组设置读取/执行工件的权限(即chmod命令的中间数字)。例如,执行chmod g+rx server.xml以确保server.xml可被组0读取和执行,应用的EAR或WAR文件、JDBC驱动程序或其他通过COPY或ADD放置到镜像中的文件也需如此。
如果使用Docker v17.09.0-ce及更高版本,可在ADD或COPY时使用--chown=<user>:<group>标志。例如:COPY --chown=1001:0 jvm.options /config/jvm.options。这是首选方法,因为无需在调用docker build前更改权限,也不会在结果镜像中重复层。
如果您的Dockerfile需要与旧版本Docker CE兼容,且不想预处理文件权限,可临时切换到root用户更改所需文件的权限。例如:
dockerfileUSER root RUN chown 1001:0 /config/jvm.options RUN chown 1001:0 /output/resources/security/ltpa.keys USER 1001
请注意,此模式会为这些工件重复Docker层,这可能会严重增加结果Docker镜像的大小(取决于工件大小)。因此,建议在复制前或复制时设置权限。
本仓库提供多个标签。beta标签的镜像包含最新月度测试版安装归档的内容。其他镜像均基于最新的正式版修复包。
kernel(内核版)镜像仅包含Liberty内核,无额外运行时特性。此镜像推荐作为自定义构建镜像的基础,以便仅包含特定应用所需的特性。例如,以下Dockerfile以该镜像为基础,复制列出应用所需特性的server.xml,然后使用configure.sh脚本从在线仓库下载这些特性:
dockerfileFROM s390x/websphere-liberty:kernel COPY --chown=1001:0 Sample1.war /config/dropins/ COPY --chown=1001:0 server.xml /config/ RUN configure.sh
这些镜像设计支持多种使用模式。以下示例基于Java EE8 Liberty 应用部署示例,并假设DefaultServletEngine.zip已解压到/tmp,且server.xml已通过在server节中添加以下元素(如果未使用我们标签中的预打包server.xml文件)更新为接受来自容器外部的HTTP连接:
xml<httpEndpoint host="*" httpPort="9080" httpsPort="-1"/>
创建包含应用及其配置的扩展Docker镜像(称为“应用镜像”)是非常重要的最佳实践。这将创建一个健壮、自包含且可预测的Docker镜像,可根据请求生成新容器,无需依赖卷或其他可能随时间变化的外部运行时工件。
如果要构建最小的WebSphere Liberty应用镜像,可从kernel标签开始,添加工件,运行configure.sh以按需扩展特性集。更多详情请参见我们的GitHub页面。
WebSphere Liberty镜像包含一组内置XML片段,用于启用和配置企业功能(如会话缓存和监控)。这些通过应用镜像Dockerfile中的特定ARG切换,并通过configure.sh脚本配置。更多信息请参见我们GitHub页面上的说明。
此模式适用于快速实验/早期开发(即“我只想在迭代应用时运行它”),但不适用于涉及不同团队和环境的开发场景——这些情况应使用上述“应用镜像”模式。
使用卷时,可将应用文件挂载到服务器的dropins目录中运行。以下示例在后台启动容器,运行主机文件系统中的.WAR文件,并将HTTP和HTTPS端口分别映射到80和443:
console$ docker run -d -p 80:9080 -p 443:9443 \ -v /tmp/DefaultServletEngine/dropins/Sample1.war:/config/dropins/Sample1.war \ s390x/websphere-liberty:webProfile8
服务器启动后,可在Docker主机上浏览http://localhost/Sample1/SimpleServlet。
注意:如果

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