注意: 这是websphere-liberty镜像的amd64架构构建的"per-architecture"仓库——更多信息,请参见镜像文档中的"除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 标签的镜像包含最新月度beta版安装归档的内容。其他镜像均基于最新的正式版修复包。
kernel 镜像仅包含Liberty内核,不包含其他运行时功能。此镜像是构建自定义镜像的推荐基础,以便它们仅包含特定应用所需的功能。例如,以下Dockerfile以此镜像为基础,复制列出应用所需功能的 server.xml,然后使用 configure.sh 脚本从在线仓库下载这些功能。
dockerfileFROM amd64/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页面上的 说明。
此模式对于快速实验/早期开发非常有用(即“我只想在迭代应用时运行它”),但不应用于涉及不同团队和环境的开发场景——对于这些情况,上述“应用镜像”模式是正确的选择。
使用 volumes 时,可以将应用文件挂载到此服务器的 dropins 目录中并运行。以下示例在后台启动一个容器,运行主机文件系统中的.WAR文件,并将HTTP和HTTPS端口分别映射到80和443。
console$ docker run -d -p 80:9080 -p 443

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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