如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
此镜像不再受支持,请考虑使用Red Hat Node.js UBI镜像替代。
该镜像通过OpenShift oc命令行工具或直接使用s2i,可将应用源代码与其所需依赖项进行组装,创建包含构建后现代Web应用的新容器镜像。构建后的文件位于/opt/app-root/output目录。
可使用https://github.com/openshift/origin/releases%E5%90%AF%E5%8A%A8%E6%9E%84%E5%BB%BA%EF%BC%8C%E9%80%9A%E8%BF%87%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E6%A0%BC%E5%BC%8F%E5%B0%86%E6%89%80%E9%9C%80Web%E5%BA%94%E7%94%A8%E7%9A%84%60REPO_URL%60%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E5%B1%82%E5%88%B0UBI8%E9%95%9C%E5%83%8F%E4%B8%AD%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8%E9%80%89%E5%AE%9A%E7%9A%84Node.js RELEASE版本:
oc new-app nodeshift/ubi8-s2i-web-app:latest~https://github.com/lholmquist/react-web-app
https://github.com/openshift/source-to-image/releases%E4%BD%9C%E4%B8%BA%E7%8B%AC%E7%AB%8B%E9%A1%B9%E7%9B%AE%E6%8F%90%E4%BE%9B%EF%BC%8C%E5%85%81%E8%AE%B8%E7%9B%B4%E6%8E%A5%E5%9C%A8Docker%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%BA%94%E7%94%A8%E3%80%82
以下示例将生成名为webapp的新Docker镜像:
s2i build https://github.com/nodeshift/ubi8-s2i-web-app --context-dir=test/test-react-app/ nodeshift/ubi8-s2i-web-app:latest webapp
然后可通过以下命令运行应用镜像:
docker run -p 8080:8080 --rm -it webapp
使用以下环境变量可配置从此构建器镜像创建的应用镜像的运行时行为:
| 名称 | 描述 |
|---|---|
| OUTPUT_DIR | 设置输出目录的位置 |
| NPM_BUILD | 覆盖默认的"npm run build"命令 |
| NPM_RUN | 覆盖默认的"npx serve"命令 |
| DEPLOY_PORT | 覆盖serve模块使用的默认端口(8080) |
| NPM_MIRROR | 设置npm registry URL |
| HTTP_PROXY | 组装期间使用npm代理(HTTP) |
| HTTPS_PROXY | 组装期间使用npm代理(HTTPS) |
定义环境变量的一种方式是在源代码仓库的.s2i/environment文件中以键值对形式包含它们。例如:DATABASE_USER=sampleUser。
虽然建议仅将此镜像用作纯构建器镜像,但也可用于开发场景。
以React为例,可使用以下命令将React应用部署到OpenShift:
npx nodeshift --strictSSL=false --dockerImage=nodeshift/ubi8-s2i-web-app --build.env YARN_ENABLED=true --deploy.env NPM_RUN="yarn start" --deploy.port=3000 --expose
此命令将部署应用并启动React开发服务器(yarn start)。
确保在代码目录执行chmod -R g+w .,这是下一步所需的权限设置。
然后可使用oc rsync命令将本地机器的更改推送到运行中的部署:
oc rsync --progress --watch ./src POD_NAME:/opt/app-root/src
注:快速获取pod名称的方法:
oc get pods | grep react-web-app | grep Running | awk '{print $1}'
在本地进行更改后,更改将被推送到运行中的部署,React开发服务器将重新编译应用并刷新浏览器。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

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