
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该Docker镜像基于Node.js官方环境构建,集成npm、yarn等主流包管理工具,提供稳定的Node.js包管理环境。主要用于Node.js项目的依赖安装、版本控制、依赖缓存及构建流程,简化Node.js应用的开发、测试和部署环节。
node18、node20),适配不同项目的运行环境需求npm install、yarn add等标准包管理命令node_modules目录,加速重复安装流程快速搭建一致的Node.js包管理环境,避免因本地Node.js版本、npm/yarn版本差异导致的"在我电脑上能运行"问题。
作为构建阶段容器,在持续集成流程中执行依赖安装(如npm install)、代码检查(如npm run lint)或构建命令(如npm run build)。
在多项目开发或团队协作中,作为共享依赖缓存节点,减少重复下载公共包的网络消耗。
配合多阶段构建,在构建镜像中完成依赖安装和应用打包,最终生成仅包含运行时依赖的轻量级应用镜像。
拉取镜像
bash# 拉取指定Node.js版本的镜像(以Node.js 20为例) docker pull [镜像仓库地址]/node-packages:node20
安装项目依赖
bash# 挂载当前项目目录,执行npm install docker run --rm \ -v $(pwd):/app \ # 挂载项目目录到容器内/app -w /app \ # 设置工作目录为/app [镜像仓库地址]/node-packages:node20 \ npm install # 执行依赖安装命令
使用yarn管理依赖
bash# 使用yarn安装依赖 docker run --rm \ -v $(pwd):/app \ -w /app \ [镜像仓库地址]/node-packages:node20 \ yarn install
通过docker-compose.yml定义持久化依赖缓存:
yamlversion: '3.8' services: npm-env: image: [镜像仓库地址]/node-packages:node20 volumes: - ./:/app # 挂载项目目录 - node_modules_cache:/app/node_modules # 持久化依赖目录 working_dir: /app command: npm install # 默认执行依赖安装 volumes: node_modules_cache: # 定义持久化卷,缓存node_modules
启动命令:
bashdocker-compose up
| 环境变量 | 说明 | 默认值 |
|---|---|---|
PACKAGE_MANAGER | 指定默认包管理器,可选值:npm/yarn | npm |
NPM_REGISTRY | 设置npm镜像源地址 | https://registry.npmjs.org/ |
YARN_REGISTRY | 设置yarn镜像源地址 | https://registry.yarnpkg.com |
示例:使用淘宝npm镜像源
bashdocker run --rm \ -v $(pwd):/app \ -w /app \ -e NPM_REGISTRY=https://registry.npmmirror.com/ \ # 设置npm镜像源 [镜像仓库地址]/node-packages:node20 \ npm install
| 挂载路径 | 说明 | 建议用途 |
|---|---|---|
/app | 项目根目录 | 挂载本地项目代码 |
/app/node_modules | 依赖安装目录 | 通过卷持久化,避免重复安装 |
/root/.npm | npm缓存目录(root用户) | 挂载以共享npm全局缓存 |
/home/node/.npm | npm缓存目录(非root用户) | 非root用户场景下共享npm缓存 |
权限问题:若宿主机用户与容器内用户ID不一致,可能导致文件权限错误,可通过-u $(id -u):$(id -g)指定当前用户ID:
bashdocker run --rm -u $(id -u):$(id -g) -v $(pwd):/app -w /app [镜像] npm install
版本选择:根据项目package.json中engines.node指定的版本选择对应镜像标签,避免版本不兼容。
多阶段构建示例:
dockerfile# 阶段1:使用本镜像安装依赖并构建 FROM [镜像仓库地址]/node-packages:node20 AS builder WORKDIR /app COPY package*.json ./ RUN npm install COPY . . RUN npm run build # 阶段2:生成运行时镜像 FROM node:20-alpine WORKDIR /app COPY --from=builder /app/dist ./dist COPY --from=builder /app/node_modules ./node_modules CMD ["node", "dist/index.js"]
镜像标签格式为node<version>-<distro>,其中:
<version>:Node.js主版本号(如18、20)<distro>:基础镜像类型(alpine为轻量版,debian为完整版,默认省略时为debian)示例标签:
node20:基于Debian的Node.js 20环境node18-alpine:基于Alpine的Node.js 18轻量环境您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务