cityofsurrey/nodedocker-node是一个为NodeJS应用程序设计的Docker镜像,提供了开箱即用的容器环境。该镜像集成了NodeJS运行时及必要工具,旨在简化NodeJS应用的部署流程,帮助开发者快速搭建一致的运行环境。
通过docker pull命令获取指定版本的镜像:
bash# 拉取最新版 docker pull node:latest # 拉取特定版本(如NodeJS 20 Alpine版) docker pull node:20-alpine
挂载本地代码并执行NodeJS脚本:
bash# 运行当前目录下的app.js docker run -it --rm -v $(pwd):/app -w /app node:latest node app.js
参数说明:
-it: 启用交互式终端--rm: 容器退出后自动清理-v $(pwd):/app: 将本地当前目录挂载到容器内/app目录-w /app: 设置工作目录为/appnode app.js: 执行的NodeJS命令在项目根目录创建Dockerfile:
dockerfile# 基于指定版本的Node镜像 FROM node:20-alpine # 设置工作目录 WORKDIR /app # 复制依赖文件并安装 COPY package*.json ./ RUN npm install --production # 复制应用代码 COPY . . # 暴露应用端口 EXPOSE 3000 # 启动命令 CMD ["node", "server.js"]
构建并运行自定义镜像:
bash# 构建镜像 docker build -t my-node-app . # 运行容器并映射端口 docker run -p 3000:3000 my-node-app
| 环境变量 | 说明 | 默认值 |
|---|---|---|
NODE_ENV | 指定应用运行环境(development/production) | development |
PORT | 应用监听端口 | 无 |
NODE_OPTIONS | NodeJS运行时参数(如--max-old-space-size) | 无 |
示例:设置生产环境并指定端口
bashdocker run -e NODE_ENV=production -e PORT=4000 -p 4000:4000 node:latest node server.js
| 镜像标签格式 | 说明 | 适用场景 |
|---|---|---|
node:latest | 最新稳定版 | 测试环境 |
node:lts | 长期支持版 | 生产环境(需关注版本更新) |
node:X.Y.Z | 特定版本号 | 生产环境(确保版本完全一致) |
node:X-alpine | 特定主版本Alpine版 | 追求小体积的场景 |
node:20.10.0-alpine)而非latest,避免因版本更新导致环境变化.dockerignore文件排除无关文件(如node_modules、.git),减小镜像体积--init参数启用init进程,处理僵尸进程回收
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务