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

defra-docker-node 是一个Node.js开发父镜像,由DEFRA(英国环境、食品和农村事务部)维护,旨在为Node.js应用开发提供统一的基础开发环境。该镜像集成了标准化的Node.js运行时、开发工具链及配置模板,可作为各类Node.js项目的基础镜像,确保跨项目开发环境一致性,减少重复配置工作。
18-alpine、20-buster等).eslintrc.js、.prettierrc、.gitignore等),支持跨项目配置复用/app作为工作目录),避免权限问题FROM指令扩展功能通过Docker Hub或私有 registry 拉取镜像(具体地址需参考项目文档):
docker pull defra/defra-docker-node:latest # 最新稳定版 # 或指定Node.js版本 docker pull defra/defra-docker-node:20-alpine
在项目Dockerfile中以该镜像为基础构建子镜像:
# 从defra-docker-node继承基础环境 FROM defra/defra-docker-node:20-alpine # 设置工作目录(继承自父镜像,默认/app) WORKDIR /app # 复制项目依赖文件并安装依赖 COPY package.json package-lock.json ./ RUN npm ci # 使用package-lock.json安装精确依赖 # 复制项目源代码 COPY . . # 覆盖默认启动命令(根据项目需求调整) CMD ["npm", "run", "dev"]
支持通过环境变量自定义行为,常用变量如下:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
NODE_ENV | 运行环境(development/production) | development |
NPM_REGISTRY | npm镜像源地址 | [***] |
USER_ID | 容器内运行用户ID | 1000(非root用户) |
WORKDIR | 应用工作目录 | /app |
示例:通过环境变量修改npm镜像源
FROM defra/defra-docker-node:20-alpine ENV NPM_REGISTRY=[***] RUN npm config set registry $NPM_REGISTRY
在docker-compose.yml中使用该镜像配置开发环境:
version: '3.8' services: app: build: context: . dockerfile: Dockerfile image: defra/defra-docker-node:20-alpine environment: - NODE_ENV=development - NPM_REGISTRY=[***] volumes: - ./:/app # 挂载本地代码,支持热重载 - node_modules:/app/node_modules # 持久化依赖目录 ports: - "3000:3000" # 映射应用端口 volumes: node_modules: # 定义匿名卷,避免本地依赖覆盖
如需覆盖父镜像默认配置(如ESLint规则),可在子项目中添加自定义配置文件,子镜像构建时会自动覆盖:
# 项目根目录添加自定义.eslintrc.js echo "module.exports = { extends: ['defra', 'prettier'] }" > .eslintrc.js
20-alpine)而非latest,确保版本稳定性root用户执行(可通过USER root切换)volumes挂载代码可实现热重载,但需注意文件权限与容器内用户匹配免费版仅支持 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