轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
open-liberty

i386/open-liberty

i386

基于Ubuntu的Open Liberty多架构Docker镜像

下载次数: 0状态:社区镜像维护者:i386仓库类型:镜像最近更新:6 年前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,不浪费每一次拉取。
点击查看

注意: 这是 https://hub.docker.com/_/open-liberty 的 i386 架构构建的 "per-architecture" 仓库——有关更多信息,请参阅官方镜像文档中的 https://github.com/docker-library/official-images#architectures-other-than-amd64 和官方镜像常见问题中的 https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E3%80%82

快速参考

  • 维护者:
    https://github.com/OpenLiberty/ci.docker

  • 获取帮助:
    Open Liberty 社区

支持的标签及相应的 Dockerfile 链接

警告: 此镜像在 i386 架构上不受支持

快速参考(续)

  • 提交 issue 的位置:
    https://github.com/OpenLiberty/ci.docker/issues?q=

  • 支持的架构: (https://github.com/docker-library/official-images#architectures-other-than-amd64)
    https://hub.docker.com/r/amd64/open-liberty/, https://hub.docker.com/r/arm64v8/open-liberty/, https://hub.docker.com/r/ppc64le/open-liberty/, https://hub.docker.com/r/s390x/open-liberty/

  • 已发布镜像工件详情:
    https://github.com/docker-library/repo-info/blob/master/repos/open-liberty (https://github.com/docker-library/repo-info/commits/master/repos/open-liberty)
    (镜像元数据、传输大小等)

  • 镜像更新:
    https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fopen-liberty
    https://github.com/docker-library/official-images/blob/master/library/open-liberty (https://github.com/docker-library/official-images/commits/master/library/open-liberty)

  • 此描述的来源:
    https://github.com/docker-library/docs/tree/master/open-liberty (https://github.com/docker-library/docs/commits/master/open-liberty)

概述

此仓库中的所有镜像均使用 Ubuntu 作为操作系统。对于使用 Universal Base Image 的变体,请参阅 https://hub.docker.com/r/openliberty/open-liberty/%E3%80%82

有关这些镜像的更多信息,请参阅我们的 https://github.com/OpenLiberty/ci.docker#container-images%E3%80%82

镜像用户

此镜像默认以 USER 1001(非 root)身份运行,属于组 0。请确保阅读以下内容以设置适当的文件夹和文件权限。

更新文件夹权限

Open Liberty 访问的所有文件夹都已设置适当的权限,但如果您的扩展 Dockerfile 需要访问其他位置的权限,您可以临时切换到 root 并提供所需权限,例如:

dockerfile
USER 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 以及应用程序的 EAR 或 WAR 文件、JDBC 驱动程序或其他通过 COPY 或 ADD 放置在镜像上的文件可以被组 0 读取和执行。

复制过程中更新权限

如果您使用 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 以更改所需文件的权限。例如:

dockerfile
USER root
RUN chown 1001:0 /config/jvm.options
RUN chown 1001:0 /output/resources/security/ltpa.keys
USER 1001

请注意,此模式将复制这些工件的 Docker 层,这可能会严重增加生成的 Docker 镜像大小(取决于工件大小)。因此,建议在复制前或复制过程中设置权限。

标签

此仓库提供多个标签。

kernel-slim 镜像仅包含 Liberty 内核,无额外运行时特性。此镜像是自定义构建镜像的推荐基础,以便它们仅包含特定应用所需的特性。例如,以下 Dockerfile 以此镜像为基础,复制列出应用所需特性的 server.xml,然后使用 features.sh 脚本从在线仓库下载这些特性。

dockerfile
FROM docker.xuanyuan.run/i386/open-liberty:kernel-slim

# 添加服务器配置
COPY --chown=1001:0  server.xml /config/
# 此脚本将添加请求的 XML 片段以启用 Liberty 特性,并使用 featureUtility 使镜像适合特定用途。仅在 'kernel-slim' 中可用。'full' 标签已包含所有特性以方便使用。
RUN features.sh

# 添加应用程序
COPY --chown=1001:0  Sample1.war /config/dropins/
# 此脚本将添加请求的服务器配置,应用任何临时修复并填充缓存以优化运行时。
RUN configure.sh

完整的镜像列表见上文 "支持的标签及相应的 Dockerfile 链接" 部分。

用法

这些镜像旨在支持多种使用模式。以下示例基于 Java EE8 Liberty https://developer.ibm.com/wasdev/docs/article_appdeployment/%EF%BC%8C%E5%B9%B6%E5%81%87%E8%AE%BE https://github.com/WASdev/sample.servlet/releases/download/V1/DefaultServletEngine.zip 已提取到 /tmp,且 server.xml 已更新以通过在 server 节中添加以下元素来接受来自容器外部的 HTTP 连接(如果不使用我们标签中的预打包 server.xml 文件):

xml
<httpEndpoint host="*" httpPort="9080" httpsPort="-1"/>

应用镜像

创建扩展 Docker 镜像(我们称之为 应用镜像)以封装应用程序及其配置是非常好的最佳实践。这将创建一个健壮、自包含且可预测的 Docker 镜像,可以根据请求生成新容器,而不依赖于可能随时间变化的卷或其他外部运行时工件。

如果您想构建最小的 Open Liberty 应用镜像,可以从我们的 kernel 标签开始,添加您的工件,并运行 configure.sh 以扩展特性集使其适合特定用途。有关更多详细信息,请参阅我们的 https://github.com/OpenLiberty/ci.docker#building-an-application-image%E3%80%82

启用企业功能

Open Liberty 镜像具有一组内置的 XML 片段,用于启用和配置企业功能,如会话缓存和监控。这些通过应用镜像 Dockerfile 中的特定 ARG 切换,并通过 configure.sh 脚本配置。有关更多信息,请参阅我们 GitHub 页面上的 https://github.com/openliberty/ci.docker#enterprise-functionality%E3%80%82

使用卷进行配置

此模式对于快速实验/早期开发非常有用(即 "我只想在迭代应用程序时运行它"),但不应用于涉及不同团队和环境的开发场景——对于这些情况,上述 "应用镜像" 模式是正确的选择。

使用 卷 时,可以将应用程序文件挂载到此服务器的 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 \
    i386/open-liberty:full

服务器启动后,您可以在 Docker 主机上浏览 http://localhost/Sample1/SimpleServlet%E3%80%82

注意:如果您在 OS X 或 Windows 上使用 boot2docker 虚拟机,需要使用 boot2docker ip 命令获取虚拟主机的 IP,而不是使用 localhost。

为了获得更大的配置灵活性,可以从主机挂载整个服务器配置目录,然后将服务器名称指定为运行命令的参数。注意:此特定示例服务器配置仅提供 HTTP 访问。

console
$ docker run -d -p 80:9080 \
  -v /tmp/DefaultServletEngine:/config \
  i386/open-liberty:full

在 Open Liberty 中使用 Spring Boot

full 镜像引入了特定于所有 Liberty 特性支持的功能,包括 Spring Boot 应用程序。因此,此镜像包含用于将 Spring Boot 应用程序分离为瘦应用程序和依赖库缓存的 springBootUtility。要在不包含未使用特性的情况下获得这些功能,请改为基于 kernel 镜像构建,并为您的 server.xml 运行 configure.sh,确保它启用 springBoot-1.5 或 springBoot-2.0 特性。

为详细说明这些功能,本节假设独立的 Spring Boot 2.0.x 应用程序 hellospringboot.jar 存在于 /tmp 目录中。

  1. Spring Boot 应用程序 JAR 部署到默认服务器配置中的 dropins/spring 目录,而不是 dropins 目录。Liberty 允许每个服务器配置一个 Spring Boot 应用程序。您可以通过将应用程序 JAR 添加到 dropins/spring 目录在此镜像上创建 Spring Boot 应用程序层。在此示例中,我们将 hellospringboot.jar 从 /tmp 复制到包含以下 Dockerfile 的同一目录。

    dockerfile
    FROM docker.xuanyuan.run/i386/open-liberty:kernel
    
    COPY --chown=1001:0 hellospringboot.jar /config/dropins/spring/
    COPY --chown=1001:0 server.xml /config/
    
    RUN configure.sh
    

    自定义镜像可以按如下方式构建和运行。

    console
    $ docker build -t app .
    $ docker run -d -p 8080:9080 app
    
  2. full 镜像提供库缓存目录 lib.index.cache,其中包含由 springBootUtility 命令创建的索引库缓存。使用 lib.index.cache 为瘦应用程序提供库缓存。

    您可以使用 springBootUtility 命令在 full 镜像上创建瘦应用程序和库缓存层。以下示例使用 Docker 暂存来高效构建镜像,将胖 Spring Boot 应用程序部署为包含瘦应用程序和库缓存的两层。

    dockerfile
    FROM docker.xuanyuan.run/i386/open-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 docker.xuanyuan.run/i386/open-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
    

    对于打包了在持续应用程序更新中很少更改的库依赖项的 Spring Boot 应用程序,您可以使用上述功能在容器之间共享库缓存,并创建更高效的 Docker 层以利用 Docker 构建缓存。

提供您自己的 keystore/truststore

当 open-liberty 镜像启动时,它可以在 /config/configDropins/defaults/keystore.xml 中生成一个 Liberty 服务器 XML 片段,其中指定带有生成密码的 keyStore 节。这会导致 Open Liberty 在启动时生成带有自签名证书的默认 keystore 和 truststore。镜像可以通过设置以下内容来请求此功能:

console
ENV KEYSTORE_REQUIRED "true"

提供自己的 keystore/truststore 时,可以通过添加以下内容禁用此默认行为:

console
ENV KEYSTORE_REQUIRED "false"

即使不生成,也建议将 keystore 自定义放置在 /config/configDropins/defaults/keystore.xml 中,因为这使其更易于查找,并使迁移到 websphere-liberty Docker 镜像更简单。

使用 IBM JRE 类数据共享

IBM JRE 提供 http://www-01.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.lnx.80.doc/diag/understanding/shared_classes.html 功能,通过使用文件支持的共享内存,在同一主机上运行的多个 Java 虚拟机之间提供透明和动态的数据共享。运行 Liberty Docker 镜像时,它会在 /opt/ol/wlp//output/.classCache 查找文件。要受益于类数据共享,此位置需要通过主机或数据卷容器在容器之间共享。

以上述示例 3 中的应用镜像为例,可以按如下方式共享包含共享缓存的主机文件位置 /tmp/open-liberty/classCache:

console
docker run -d -p 80:9080 -p 443:9443 \
    -v /tmp/open-liberty/classCache:/opt/ol/wlp/output/.classCache docker.xuanyuan.run/app

或者,创建一个命名数据卷容器,在共享文件位置公开卷:

console
docker run -v /opt/ol/wlp//output/.classCache \
    --name classcache docker.xuanyuan.run/i386/open-liberty true

然后,使用从数据卷容器 classcache 挂载的卷运行 Open Liberty 镜像,如下所示:

console
docker run -d -p 80:9080 -p 443:9443 --volumes-from classcache docker.xuanyuan.run/app

以只读模式运行 Open Liberty

Liberty 运行时会写入两个不同的目录:/opt/ol/wlp//output 和 /logs。要以只读模式运行 Liberty 镜像,这些目录可以挂载为临时文件系统。如果使用提供的镜像,keystore 将在初始启动时在服务器配置中生成。这意味着服务器配置目录要么需要是可读写的,要么 keystore 需要内置到镜像中。在示例命令中,/config 挂载为可读写卷。

console
docker run -d -p 80:9080 -p 443:9443 \
    --tmpfs /opt/ol/wlp//output --tmpfs /logs -v /config --read-only \
    docker.xuanyuan.run/i386/open-liberty:webProfile8

Open Liberty 与 WebSphere Liberty 的关系

WebSphere Liberty 是 Open Liberty 的商业发行版。有一个官方的 websphere-liberty Docker 镜像。websphere-liberty Docker 镜像早于 open-liberty,因此为了简化从 open-liberty 迁移到 websphere-liberty(或反之亦然),这些镜像大体上兼容。应该可以通过简单更改 FROM 子句在两者之间切换。在两者之间迁移的一些注意事项:

  • Open Liberty 安装到 /opt/ol 而不是 /opt/ibm。
  • 使用 /config 文件夹访问服务器配置。
  • 使用 /output 文件夹访问服务器输出。
  • 添加自己的 SSL 配置时,使用 /config/configDropins/defaults/keystore.xml。

许可证

查看此镜像中包含的软件的 https://github.com/OpenLiberty/open-liberty/blob/master/LICENSE%E3%80%82

与所有 Docker 镜像一样,这些镜像可能还包含其他软件,这些软件可能受其他许可证(如基础发行版中的 Bash 等,以及包含的主要软件的任何直接或间接依赖项)约束。

一些能够自动检测到的其他许可证信息可能位于 https://github.com/docker-library/repo-info/tree/master/repos/open-liberty 中。

至于任何预构建镜像的使用,镜像用户有责任确保对此镜像的任何使用符合其中包含的所有软件的相关许可证。

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 open-liberty 镜像标签

docker pull docker.xuanyuan.run/i386/open-liberty:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull i386/open-liberty:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

一键安装

一键安装 Docker

Linux Docker 一键安装

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

爱快 4.0 · iKuai 镜像加速

宝塔面板

一键配置镜像源

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

专属域名用法

专属域名 · 开启停用 · 多仓库

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
i386/open-liberty
定价查看流量套餐与价格
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱

更多 open-liberty 镜像推荐

open-liberty logo

library/open-liberty

Docker 官方镜像
基于Ubuntu的Open Liberty多架构Docker镜像,提供轻量级、模块化的Java应用服务器环境,支持多种Java版本和功能组合,适用于云原生应用开发与部署。
69 次收藏1000万+ 次下载
26 天前更新
openliberty/open-liberty logo

openliberty/open-liberty

openliberty
已终止服务的Open Liberty镜像。请切换至IBM容器注册表(ICR)。
22 次收藏500万+ 次下载
1 年前更新
s390x/open-liberty logo

s390x/open-liberty

s390x
基于Ubuntu的Open Liberty多架构镜像,提供应用服务器环境,支持运行Java应用并适配多种CPU架构。
50万+ 次下载
26 天前更新
amd64/open-liberty logo

amd64/open-liberty

amd64
基于Ubuntu的Open Liberty多架构镜像,用于运行Java应用并支持多种硬件架构。
50万+ 次下载
26 天前更新
ppc64le/open-liberty logo

ppc64le/open-liberty

ppc64le
基于Ubuntu的多架构Open Liberty镜像,用于运行Java EE和MicroProfile应用,支持多种处理器架构。
50万+ 次下载
26 天前更新
sdaschner/open-liberty logo

sdaschner/open-liberty

sdaschner
该Docker镜像用于演示、工作坊和示例场景,提供稳定可靠的Open Liberty环境,支持优雅关闭、环境变量配置等特性,且镜像标签固定不变,确保构建一致性。
5万+ 次下载
6 年前更新

查看更多 open-liberty 相关镜像

更多相关 Docker 镜像与资源

以下是 i386/open-liberty 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:

  • sdaschner/open-liberty Docker 镜像说明(Open Liberty Java 应用服务器,适合微服务与 Jakarta EE)
  • library/tomcat Docker 镜像说明(Apache Tomcat,Java Web 应用服务器,适合传统 Java 应用)
  • bitnami/tomcat Docker 镜像说明(Apache Tomcat,Bitnami 企业级配置)
  • rootpublic/tomcat Docker 镜像说明(Tomcat 应用服务器(rootpublic),适合 Java Web 应用部署)
  • bitnamicharts/tomcat Docker 镜像说明(Tomcat 容器镜像,适合 bitnamicharts 维护的 Tomcat 工作负载部署)