如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
此容器镜像包含Node.JS 4,作为Node.JS 4应用程序的https://github.com/openshift/source-to-image%E5%9F%BA%E7%A1%80%E9%95%9C%E5%83%8F%E3%80%82%E7%94%A8%E6%88%B7%E5%8F%AF%E9%80%89%E6%8B%A9%E5%9F%BA%E4%BA%8ERHEL%E6%88%96CentOS%E7%9A%84%E6%9E%84%E5%BB%BA%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%82RHEL%E9%95%9C%E5%83%8F%E5%8F%AF%E5%9C%A8Red Hat容器目录获取,镜像名为registry.access.redhat.com/rhscl/nodejs-4-rhel7;CentOS镜像可在https://hub.docker.com/r/centos/nodejs-4-centos7/%E8%8E%B7%E5%8F%96%EF%BC%8C%E9%95%9C%E5%83%8F%E5%90%8D%E4%B8%BA%60centos/nodejs-4-centos7%60%E3%80%82%E7%94%9F%E6%88%90%E7%9A%84%E9%95%9C%E5%83%8F%E5%8F%AF%E4%BD%BF%E7%94%A8http://docker.io%E8%BF%90%E8%A1%8C%E3%80%82
Node.js 4容器镜像作为基础平台,用于构建和运行各种Node.js 4应用程序及框架。Node.js是基于Chrome JavaScript运行时构建的平台,便于快速构建高速、可扩展的网络应用。Node.js采用事件驱动的非阻塞I/O模型,使其轻量高效,非常适合在分布式设备上运行的数据密集型实时应用。
要使用独立https://github.com/openshift/source-to-image%E6%9E%84%E5%BB%BA%E7%AE%80%E5%8D%95%E7%9A%84https://github.com/sclorg/s2i-nodejs-container/tree/master/4/test/test-app%E5%BA%94%E7%94%A8%EF%BC%8C%E7%84%B6%E5%90%8E%E9%80%9A%E8%BF%87http://docker.io%E8%BF%90%E8%A1%8C%E7%94%9F%E6%88%90%E7%9A%84%E9%95%9C%E5%83%8F%EF%BC%8C%E8%AF%B7%E6%89%A7%E8%A1%8C%E4%BB%A5%E4%B8%8B%E6%AD%A5%E9%AA%A4%EF%BC%9A
bash$ s2i build https://github.com/sclorg/s2i-nodejs-container.git --context-dir=4/test/test-app/ rhscl/nodejs-4-rhel7 nodejs-sample-app $ docker run -p 8080:8080 nodejs-sample-app
bash$ s2i build https://github.com/sclorg/s2i-nodejs-container.git --context-dir=4/test/test-app/ centos/nodejs-4-centos7 nodejs-sample-app $ docker run -p 8080:8080 nodejs-sample-app
bash$ curl 127.0.0.1:8080
应用开发者可通过以下环境变量配置镜像的运行时行为:
NODE_ENVNodeJS运行时模式(默认:"production")
DEV_MODE设为"true"时,将使用nodemon自动重新加载服务器(默认:"false")。设置DEV_MODE="true"会将NODE_ENV默认值改为"development"(若未显式设置)。
NPM_RUN选择自定义运行时模式,定义于package.json文件的scripts部分(默认:npm run "start")。使用DEV_MODE时,用户定义的运行脚本不可用。
HTTP_PROXY在装配期间使用npm代理
HTTPS_PROXY在装配期间使用npm代理
NPM_MIRROR构建过程中使用自定义NPM registry镜像下载包
定义环境变量的一种方式是在仓库的.s2i/environment文件中以键值对形式包含它们。例如:DATABASE_USER=sampleUser
注意:定义自定义“DEV_MODE”
以下package.json示例包含scripts.dev条目。可在应用的package.json文件中定义自定义NPM_RUN脚本。
注意:设置日志输出详细程度
要更改npm install期间的日志输出级别,可设置npm_config_loglevel环境变量。详见npm-config。
此镜像支持开发模式,可通过环境变量DEV_MODE切换,取值为true或false。开发模式支持两项功能:
调试端口可通过环境变量DEBUG_PORT指定,仅当DEV_MODE=true时有效。
在开发模式下运行容器的简单示例命令:
bashdocker run --env DEV_MODE=true my-image-id
指定调试端口5454在开发模式下运行:
bash$ docker run --env DEV_MODE=true DEBUG_PORT=5454 my-image-id
在生产模式下运行:
bash$ docker run --env DEV_MODE=false my-image-id
默认情况下,DEV_MODE设为false,DEBUG_PORT设为5858,但DEBUG_PORT仅在DEV_MODE=true时生效。
作为开发模式的一部分,此镜像支持热部署。启用开发模式后,运行中容器内源代码的任何更改将立即反映在运行的Node.js应用中。
要在运行中的容器内修改源代码,使用Docker的http://docker.io%E5%91%BD%E4%BB%A4%EF%BC%9A
bash$ docker exec -it <CONTAINER_ID> /bin/bash
执行docker exec进入运行中的容器后,当前目录为/opt/app-root/src,即应用源代码所在位置。
若已将容器部署到OpenShift,可使用oc rsync将本地文件复制到OpenShift pod中运行的远程容器。
警告:
s2i-nodejs容器镜像默认使用npm start命令运行Node.js应用,即执行package.json中的start脚本。在开发模式下,应用使用nodemon运行,nodemon默认查找package.json中的main属性并执行该脚本;若main属性不存在,则执行start脚本。为确保生产和开发模式功能一致,建议移除main属性。
以下是包含main属性和start脚本的package.json示例:
json{ "name": "node-echo", "version": "0.0.1", "description": "node-echo", "main": "example.js", <--- main属性 "dependencies": { }, "devDependencies": { "nodemon": "*" }, "engine": { "node": "*", "npm": "*" }, "scripts": { "dev": "nodemon --ignore node_modules/ server.js", "start": "node server.js" <-- start脚本 }, "keywords": [ "Echo" ], "license": "", }
注意:
oc rsync仅在OpenShift 3.1+版本中可用。
Dockerfile及其他源代码可在https://github.com/sclorg/s2i-nodejs-container%E8%8E%B7%E5%8F%96%E3%80%82%E8%AF%A5%E4%BB%93%E5%BA%93%E4%B8%AD%E8%BF%98%E5%8C%85%E5%90%AB%E5%85%B6%E4%BB%96%E7%89%88%E6%9C%AC%E7%9A%84Python%E7%8E%AF%E5%A2%83Dockerfile%E3%80%82CentOS%E7%9A%84Dockerfile%E5%90%8D%E4%B8%BADockerfile%EF%BC%8CRHEL%E7%9A%84Dockerfile%E5%90%8D%E4%B8%BADockerfile.rhel7%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

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