
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像作为OpenShift语言镜像(如s2i-ruby、s2i-nodejs、s2i-python等)的基础,包含运行这些镜像所需的所有必要库和工具。它安装了多种开发库(常用于上述构建器镜像)和NPM包管理器,通过在公共层共享这些开发包,可有效节省磁盘空间并提高镜像拉取速度。对于不需要开发库和NPM的场景,建议使用本镜像的s2i-core变体。
OpenShift S2I镜像使用软件集合包提供各类软件的最新版本,其更新频率高于长期稳定的RHEL或CentOS系统。同时依赖RHEL/CentOS作为基础镜像,确保平台的稳定性、支持性和安全性。
传统软件集合需手动启用,操作繁琐且易出错。OpenShift S2I通过设置Bash环境变量实现自动启用:
BASH_ENV:为所有非交互式Bash会话启用集合ENV:为所有/bin/sh调用启用集合PROMPT_COMMAND:在交互式shell中启用集合示例:
BASH_ENV后,所有#!/bin/bash脚本无需调用scl enablePROMPT_COMMAND后,执行podman exec ... /bin/bash时集合会自动启用软件集合包中的可执行文件(如ruby)不在PATH环境变量指定的目录中,因此不能直接执行:
bash$ podman exec <容器ID> ... ruby # 错误
需使用以下方式:
bash$ podman exec <容器ID> ... /bin/bash -c ruby # 正确
/bin/bash -c结合环境变量设置可确保找到并调用正确的可执行文件。(注:示例中podman命令可替换为docker,参数相同)
支持RHEL7和CentOS7两种基础镜像:
RHEL7基础镜像
需在已正确订阅的RHEL机器上构建:
bash$ git clone --recursive https://github.com/sclorg/s2i-base-container.git $ cd s2i-base-container $ make build VERSIONS=base TARGET=rhel7
CentOS7基础镜像
该镜像已发布至DockerHub,可直接拉取:
consolepodman pull sclorg/s2i-base-centos7
或从源码构建:
bash$ git clone --recursive https://github.com/sclorg/s2i-base-container.git $ cd s2i-base-container $ make build VERSIONS=base
注意:省略
VERSION参数时,构建/测试操作将对所有提供的s2i镜像版本执行。
Dockerfile及其他源码可在https://github.com/sclorg/s2i-base-container%E8%8E%B7%E5%8F%96%E3%80%82%E4%BB%93%E5%BA%93%E4%B8%AD%E5%8C%85%E5%90%AB%E4%B8%8D%E5%90%8C%E5%8F%98%E4%BD%93%E7%9A%84S2I%E5%9F%BA%E7%A1%80Dockerfile%EF%BC%9A
DockerfileDockerfile.rhel7Dockerfile.rhel8Dockerfile.fedora您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务