
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进程,处理僵尸进程回收

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务