Node.js 8容器镜像是构建和运行各种Node.js 8应用程序和框架的基础平台。Node.js基于Chrome的JavaScript运行时构建,用于轻松构建快速、可扩展的网络应用。它采用事件驱动的非阻塞I/O模型,使其轻量高效,非常适合在分布式设备上运行的数据密集型实时应用。
该镜像包含Node.JS 8作为https://github.com/openshift/source-to-image%E5%9F%BA%E7%A1%80%E9%95%9C%E5%83%8F%EF%BC%8C%E7%94%A8%E6%88%B7%E5%8F%AF%E9%80%89%E6%8B%A9%E5%9F%BA%E4%BA%8ERHEL%E3%80%81CentOS%E6%88%96Fedora%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82RHEL%E9%95%9C%E5%83%8F%E5%8F%AF%E5%9C%A8Red Hat容器目录获取,CentOS镜像在https://hub.docker.com/r/centos/%E6%8F%90%E4%BE%9B%EF%BC%8CFedora%E9%95%9C%E5%83%8F%E5%88%99%E4%BD%8D%E4%BA%8EFedora Registry。生成的镜像可使用https://github.com/containers/libpod%E8%BF%90%E8%A1%8C%E3%80%82
注意:尽管本文档示例中使用
podman命令,但所有此类调用均可替换为docker,参数保持不变。
以下示例假设使用rhscl/nodejs-8-rhel7镜像(在OpenShift中可通过nodejs:8镜像流标签获取)。
构建https://github.com/sclorg/s2i-nodejs-container/tree/master/8/test/test-app%E7%A4%BA%E4%BE%8B%E5%BA%94%E7%94%A8%EF%BC%9A
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%E7%9A%84%E7%B3%BB%E7%BB%9F%E4%B8%8A%E6%9E%84%E5%BB%BA%EF%BC%9A
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中,可通过oc rsync将本地文件复制到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您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务