
如果你使用 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 6,作为构建Node.js 6应用的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%EF%BC%9A
Node.js 6 Docker镜像为构建和运行各类Node.js 6应用及框架提供基础平台。Node.js基于Chrome的JavaScript运行时构建,能轻松创建快速、可扩展的网络应用。其采用事件驱动、非阻塞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/6/test/test-app%E5%BA%94%E7%94%A8%EF%BC%8C%E5%B9%B6%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%E5%91%BD%E4%BB%A4%EF%BC%9A
bash$ s2i build https://github.com/sclorg/s2i-nodejs-container.git --context-dir=6/test/test-app/ rhscl/nodejs-6-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=6/test/test-app/ centos/nodejs-6-centos7 nodejs-sample-app $ docker run -p 8080:8080 nodejs-sample-app
bash$ curl 127.0.0.1:8080
应用开发者可通过以下环境变量配置镜像的运行行为:
NODE_ENV:NodeJS运行模式(默认:"production")DEV_MODE:设置为"true"时,将使用nodemon自动重新加载服务器(默认:"false")。若DEV_MODE为"true"且未显式设置NODE_ENV,则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开启或关闭(取值为true或false)。开发模式支持以下特性:
调试端口可通过环境变量DEBUG_PORT指定(仅当DEV_MODE=true时有效)。
bashdocker run --env DEV_MODE=true my-image-id
bashdocker run --env DEV_MODE=true DEBUG_PORT=5454 my-image-id
bashdocker run --env DEV_MODE=false my-image-id
默认情况下,DEV_MODE为false,DEBUG_PORT为5858(仅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
进入容器后,当前目录为/opt/app-root/src(应用源代码所在位置)。
若已将容器部署到OpenShift,可使用oc rsync将本地文件复制到OpenShift pod中运行的远程容器。
注意:
s2i-nodejs Docker镜像的默认行为是使用npm start命令运行Node.js应用(执行package.json中的start脚本)。在开发模式下,应用通过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", "dependencies": { }, "devDependencies": { "nodemon": "*" }, "engine": { "node": "*", "npm": "*" }, "scripts": { "dev": "nodemon --ignore node_modules/ server.js", "start": "node server.js" }, "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%EF%BC%9ACentOS%E7%89%88%E6%9C%AC%E7%9A%84Dockerfile%E5%90%8D%E4%B8%BADockerfile%EF%BC%8CRHEL%E7%89%88%E6%9C%AC%E7%9A%84%E5%90%8D%E4%B8%BADockerfile.rhel7%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务