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

Node.js Dev Container 是由 Node.js 官方维护的开发容器配置集合,旨在为 Node.js 项目提供标准化、可复现的开发环境。该镜像基于微软 Dev Container 规范构建,集成了 Node.js 运行时、常用开发工具及配置模板,可直接与 VS Code Dev Containers 扩展或 GitHub Codespaces 配合使用,帮助开发者快速搭建一致的本地或云端开发环境,避免因环境差异导致的"在我电脑上能运行"问题。
git、curl、wget、build-essential(编译依赖)eslint、prettier、npm-check-updates、husky(可选)docker-cli、docker-compose(支持容器内操作 Docker)devcontainer.json 配置文件自定义环境(工具安装、扩展集成、用户权限等)node)运行,避免权限风险F1 打开命令面板,输入并选择 Dev Containers: Add Dev Container Configuration Files....devcontainer/devcontainer.json 配置文件devcontainer.json在项目根目录创建 .devcontainer/devcontainer.json 文件,示例基础配置如下:
{ "name": "Node.js Dev Environment", "image": "mcr.microsoft.com/devcontainers/javascript-node:18", // 指定 Node.js 18 基础镜像 "features": { "ghcr.io/devcontainers/features/git:1": {}, // 安装 git "ghcr.io/devcontainers/features/node:1": { "version": "18" } // 显式指定 Node.js 版本 }, "customizations": { "vscode": { "extensions": [ "dbaeumer.vscode-eslint", // ESLint 扩展 "esbenp.prettier-vscode" // Prettier 扩展 ] } }, "remoteUser": "node" // 使用非 root 用户运行 }
# 拉取 Node.js 18 基础镜像并启动交互式终端 docker run -it --rm \ -v "$(pwd):/workspace" \ # 挂载当前项目到容器内 /workspace -w /workspace \ # 设置工作目录 mcr.microsoft.com/devcontainers/javascript-node:18 \ bash
适用于需要数据库等依赖服务的 Node.js 项目,创建 .devcontainer/docker-compose.yml:
version: '3.8' services: app: build: context: . dockerfile: Dockerfile # 自定义构建(可选) volumes: - ../..:/workspace:cached # 挂载项目代码 command: sleep infinity # 保持容器运行 depends_on: - db # 依赖数据库服务 environment: - NODE_ENV=development - DATABASE_URL=postgres://user:password@db:5432/mydb db: image: postgres:15 environment: - POSTGRES_USER=user - POSTGRES_PASSWORD=password - POSTGRES_DB=mydb volumes: - postgres-data:/var/lib/postgresql/data # 持久化数据库数据 volumes: postgres-data:
对应的 .devcontainer/devcontainer.json 需指定使用 Docker Compose:
{ "name": "Node.js + PostgreSQL", "dockerComposeFile": "docker-compose.yml", "service": "app", # 指定主服务 "workspaceFolder": "/workspace", "remoteUser": "node" }
devcontainer.json)| 参数路径 | 说明 | 示例值 |
|---|---|---|
name | 容器环境名称(显示在 VS Code 状态栏) | "Node.js Dev Env" |
image | 基础镜像地址(若不使用本地构建) | "mcr.microsoft.com/devcontainers/javascript-node:18" |
build | 本地构建配置(替代 image) | { "dockerfile": "Dockerfile", "args": { "NODE_VERSION": "18" } } |
features | 集成额外工具(通过 Dev Container Features 市场) | { "ghcr.io/devcontainers/features/node:1": { "version": "18" }, "ghcr.io/devcontainers/features/git:1": {} } |
customizations.vscode.extensions | VS Code 扩展自动安装列表 | ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"] |
customizations.vscode.settings | VS Code 工作区设置 | { "editor.formatOnSave": true } |
remoteUser | 容器内运行用户(推荐使用非 root 用户 node) | "node" |
containerEnv | 容器内环境变量 | { "NODE_ENV": "development", "PORT": "3000" } |
mounts | 额外文件挂载(如本地 npm 缓存加速依赖安装) | ["source=${localEnv:HOME}/.npm,target=/home/node/.npm,type=bind"] |
onCreateCommand | 容器创建后执行的命令(如安装项目依赖) | "npm install" |
build.args 传递)| 变量名 | 说明 | 默认值 |
|---|---|---|
NODE_VERSION | Node.js 版本 | "lts"(最新 LTS 版本) |
NPM_VERSION | npm 版本 | 与 Node.js 版本匹配 |
YARN_VERSION | yarn 版本(可选安装) | 不安装 |
USER_UID | 非 root 用户 UID | 1000 |
USER_GID | 非 root 用户 GID | 1000 |
containerEnv 配置)| 变量名 | 说明 | 示例值 |
|---|---|---|
NODE_ENV | Node.js 运行环境 | "development" |
PORT | 应用监听端口 | "3000" |
DEBUG | 调试模式开关(如 express:*) | "app:*" |
若基础镜像不满足需求,可创建 .devcontainer/Dockerfile 自定义构建:
# 基于 Node.js 18 基础镜像 FROM mcr.microsoft.com/devcontainers/javascript-node:18 # 安装额外系统依赖(如构建工具) RUN apt-get update && apt-get install -y --no-install-recommends \ python3 \ make \ g++ \ && apt-get clean && rm -rf /var/lib/apt/lists/* # 安装全局 npm 包 RUN npm install -g pm2 nodemon # 切换工作目录 WORKDIR /workspace # 设置启动命令(可选) CMD ["npm", "run", "dev"]
对应的 devcontainer.json 需指定构建配置:
{ "build": { "context": ".", "dockerfile": "Dockerfile", "args": { "NODE_VERSION": "18" } } }
npm install),耗时较长;后续启动会复用缓存,速度更快。node,若需修改文件权限,可通过 sudo 命令(容器内已预配置密码less sudo)。devcontainer.json 锁定 Node.js 版本(如 18 而非 lts)以避免意外升级。mounts 配置挂载本地 npm/yarn 缓存目录,可大幅加速依赖安装。免费版仅支持 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