
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
所有镜像均使用 Ubuntu 作为操作系统。如需基于通用基础镜像(Universal Base Image)的变体,请参阅 https://hub.docker.com/r/ibmcom/websphere-liberty/%E3%80%82%E6%9C%89%E5%85%B3%E9%95%9C%E5%83%8F%E7%9A%84%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E5%8F%82%E8%A7%81 https://github.com/WASdev/ci.docker#container-images%E3%80%82
以下是支持的标签及其对应的 Dockerfile 链接:
标签说明:
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)条款使用。镜像中其他软件的许可信息可在 https://github.com/docker-library/repo-info/tree/master/repos/websphere-liberty 查看。使用前请确保遵守所有软件许可条款。
amd64、arm64v8、ppc64le、s390x(https://github.com/docker-library/official-images#architectures-other-than-amd64%EF%BC%89您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务