本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
此容器镜像包含Node.JS 4,作为Node.JS 4应用程序的S2I基础镜像。用户可选择基于RHEL或CentOS的构建器镜像。RHEL镜像可在Red Hat容器目录获取,镜像名为registry.access.redhat.com/rhscl/nodejs-4-rhel7;CentOS镜像可在Docker Hub获取,镜像名为centos/nodejs-4-centos7。生成的镜像可使用Docker运行。
Node.js 4容器镜像作为基础平台,用于构建和运行各种Node.js 4应用程序及框架。Node.js是基于Chrome JavaScript运行时构建的平台,便于快速构建高速、可扩展的网络应用。Node.js采用事件驱动的非阻塞I/O模型,使其轻量高效,非常适合在分布式设备上运行的数据密集型实时应用。
要使用独立S2I构建简单的nodejs-sample-app应用,然后通过Docker运行生成的镜像,请执行以下步骤:
$ s2i build [***] --context-dir=4/test/test-app/ rhscl/nodejs-4-rhel7 nodejs-sample-app $ docker run -p 8080:8080 nodejs-sample-app
$ s2i build [***] --context-dir=4/test/test-app/ centos/nodejs-4-centos7 nodejs-sample-app $ docker run -p 8080:8080 nodejs-sample-app
$ 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时有效。
在开发模式下运行容器的简单示例命令:
docker run --env DEV_MODE=true my-image-id
指定调试端口5454在开发模式下运行:
$ docker run --env DEV_MODE=true DEBUG_PORT=5454 my-image-id
在生产模式下运行:
$ docker run --env DEV_MODE=false my-image-id
默认情况下,DEV_MODE设为false,DEBUG_PORT设为5858,但DEBUG_PORT仅在DEV_MODE=true时生效。
作为开发模式的一部分,此镜像支持热部署。启用开发模式后,运行中容器内源代码的任何更改将立即反映在运行的Node.js应用中。
要在运行中的容器内修改源代码,使用Docker的exec命令:
$ 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示例:
{ "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及其他源代码可在[***]
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429