
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Node.js 8容器镜像是构建和运行各种Node.js 8应用程序和框架的基础平台。Node.js基于Chrome的JavaScript运行时构建,用于轻松构建快速、可扩展的网络应用。它采用事件驱动的非阻塞I/O模型,使其轻量高效,非常适合在分布式设备上运行的数据密集型实时应用。
该镜像包含Node.JS 8作为https://github.com/openshift/source-to-image基础镜像,用户可选择基于RHEL、CentOS或Fedora的版本。RHEL镜像可在Red Hat容器目录获取,CentOS镜像在https://hub.docker.com/r/centos/提供,Fedora镜像则位于https://registry.fedoraproject.org/。生成的镜像可使用https://github.com/containers/libpod运行。
注意:尽管本文档示例中使用
podman命令,但所有此类调用均可替换为docker,参数保持不变。
以下示例假设使用rhscl/nodejs-8-rhel7镜像(在OpenShift中可通过nodejs:8镜像流标签获取)。
构建https://github.com/sclorg/s2i-nodejs-container/tree/master/8/test/test-app示例应用:
bashoc new-app nodejs:8~https://github.com/sclorg/s2i-nodejs-container.git --context-dir=8/test/test-app/
在已安装https://github.com/openshift/source-to-image的系统上构建:
bashs2i build https://github.com/sclorg/s2i-nodejs-container.git --context-dir=8/test/test-app/ rhscl/nodejs-8-rhel7 nodejs-sample-app
bashcurl 127.0.0.1:8080
应用开发人员可通过以下环境变量配置运行时行为:
NODE_ENV"production"DEV_MODE"true"时使用nodemon自动重载服务器;设为"true"会将NODE_ENV默认值改为"development"(若未显式设置)"false"NPM_RUNpackage.json的scripts部分定义npm run "start"HTTP_PROXYHTTPS_PROXYNPM_MIRROR注:可在代码库的
.s2i/environment文件中以键值对形式定义环境变量,例如:DATABASE_USER=sampleUser
通过DEV_MODE环境变量(取值true或false)启用/禁用开发模式,支持热部署和调试功能。调试端口通过DEBUG_PORT指定(仅在DEV_MODE=true时有效)。
开发模式
bashpodman run --env DEV_MODE=true my-image-id
指定调试端口(如5454)
bashpodman run --env DEV_MODE=true DEBUG_PORT=5454 my-image-id
生产模式
bashpodman run --env DEV_MODE=false my-image-id
默认配置:
DEV_MODE=false,DEBUG_PORT=5858(仅DEV_MODE=true时生效)
开发模式下,容器内源代码的更改会立即反映到运行中的应用。
bashpodman exec -it <CONTAINER_ID> /bin/bash
进入容器后,当前目录为/opt/app-root/src(应用源代码目录)。
在OpenShift中,可通过https://docs.okd.io/latest/dev_guide/copy_files_to_container.html将本地文件复制到pod:
bashoc rsync ./local-dir/ <POD_NAME>:/opt/app-root/src/
警告:
生产模式默认执行npm start(运行package.json的start脚本),开发模式使用nodemon(默认执行main属性指定的脚本,无main时执行start脚本)。为确保行为一致,建议移除package.json中的main属性。
注:
oc rsync仅在OpenShift 3.1及以上版本可用。
DockerfileDockerfile.rhel7Dockerfile.rhel8Dockerfile.fedora您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务