本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

这是一个用于构建NodeJS容器镜像的Dockerfile,支持与Git仓库进行源码的拉取和推送操作。
该项目的源码文件可在此获取:[***]
如有任何改进建议,请提交拉取请求。
Docker Hub上的构建版本可在此查看:[***]
可用的Node.js版本标签包括:
141618202224Alpine版本会根据Node.js版本自动选择(每个Node.js版本使用最新兼容的Alpine Linux版本)。
如需从源码构建,需克隆Git仓库并运行docker build命令:
git clone [***] cd docker-nodejs docker build -t nodejs:node-18 .
可使用NODE_VERSION构建参数指定特定Node.js版本构建镜像:
docker build --build-arg NODE_VERSION=20 -t nodejs:node-20 .
该构建参数会自动使用Alpine Linux基础镜像(例如,NODE_VERSION=20会使用node:20-alpine)。
本项目使用Drone CI自动构建多个Node.js版本的Docker镜像。.drone.yml配置会为Node.js 14、16、18、20、22和24版本构建镜像,并推送到Docker Hub并打上相应标签。
所需Drone密钥:
dockerhub_username - Docker Hub用户名dockerhub_password - Docker Hub密码或访问令牌构建过程会在推送到main或master分支以及创建Git标签时自动触发。
docker pull boro/nodejs:node-18
可拉取特定Node.js版本:
docker pull boro/nodejs:node-14 docker pull boro/nodejs:node-16 docker pull boro/nodejs:node-18 docker pull boro/nodejs:node-20 docker pull boro/nodejs:node-22 docker pull boro/nodejs:node-24
简单运行容器:
docker run -d boro/nodejs:node-18
如需为Node应用安装组件,只需在应用根目录包含package.json文件,容器启动时会自动安装组件。
目前容器会在Web根目录中查找server.js并执行。
以下是支持的配置选项,可通过-e标志传递给Docker:
npm start或node dist/server.js)。默认为在/app目录中执行node server.js。https://(例如github.com/project/);SSH方式需前缀git@(例如***:project.git)。容器的一个重要特性是通过运行时传递环境变量从Git仓库拉取代码。
必需:在Github创建个人访问令牌请参考指南。
可通过GIT_PERSONAL_TOKEN传递Git账户的个人访问令牌,该令牌需配置正确权限以推拉代码。
由于访问令牌作为有限权限的密码,Git推拉使用HTTPS认证,需指定GIT_USERNAME和GIT_PERSONAL_TOKEN,同时需定义GIT_EMAIL、GIT_NAME和GIT_REPO。
docker run -d -e 'GIT_EMAIL=email_address' -e 'GIT_NAME=full_name' -e 'GIT_USERNAME=git_username' -e 'GIT_REPO=github.com/project' -e 'GIT_PERSONAL_TOKEN=<long_token_string_here>' boro/nodejs:node-18
如需拉取特定分支,添加GIT_BRANCH环境变量:
docker run -d -e 'GIT_EMAIL=email_address' -e 'GIT_NAME=full_name' -e 'GIT_USERNAME=git_username' -e 'GIT_REPO=github.com/project' -e 'GIT_PERSONAL_TOKEN=<long_token_string_here>' -e 'GIT_BRANCH=stage' boro/nodejs:node-18
如需在代码拉取后执行转换脚本,可在Git仓库中包含scripts文件夹并设置RUN_SCRIPTS=1。详见仓库布局指南。
需设置GIT_EMAIL和GIT_NAME变量以启用Git推拉功能,这两个变量用于配置Git并允许容器执行推拉操作。
可通过Docker命令行传递环境变量:
示例:
docker run -d -e 'YOUR_VAR=VALUE' boro/nodejs:node-18
所有日志输出到stdout/stderr,可通过Docker日志命令查看:
docker logs <CONTAINER_NAME>
通过WEBROOT变量设置容器中的Web根目录(例如-e "WEBROOT=/app/public")。默认代码检出到/app目录,若仓库代码不在根目录需使用此变量。

免费版仅支持 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