SuperAPI AI 工具集

nodejs-containers

通用与其它

查看项目

更新于 10-15 23:49

技能介绍

用途:该技能提供构建优化 Node.js 容器镜像的专门知识,聚焦 Alpine 变体、多阶段构建和 Node.js 特有的依赖管理方式。适合编写 Node.js 专用 Dockerfile、优化镜像体积、在容器中处理 npm/yarn/pnpm、以及应对原生模块构建;通用多阶段构建、语言无关的容器安全、Docker Compose 配置等场景建议改用 container-development。

主要能力:使用 Alpine 基础镜像(约 100MB,对比完整镜像约 900MB);用多阶段构建分离构建与运行阶段;用 BuildKit 缓存挂载加速 node_modules 安装;仅安装生产依赖;配置非 root 用户;支持 npm、yarn、pnpm 三种包管理器模式。资料给出的推荐多阶段模式包含 deps、build、runtime 三个阶段,运行阶段创建非 root 用户并设置 HEALTHCHECK 与 CMD。

使用方式:资料提供示例命令,如 DOCKER_BUILDKIT=1 docker build --target build . 仅构建 build 阶段,docker images app --format "table {{.Repository}}\t{{.Size}}" 对比体积,docker history app:latest --human --no-trunc | head -20 分析层,docker run --rm app npm audit --production 审计依赖,docker builder prune --filter type=exec.cachemount 清理 BuildKit 缓存,docker run --rm -p 3000:3000 app 本地测试。

适用场景与限制:适用于 Node.js 服务端镜像构建与体积、构建速度、安全优化。资料称多阶段 Alpine 镜像可减少约 89% 体积、约 87% 拉取时间,并降低 CVE 数量。具体效果因项目而异;资料未提供收费、价格或平台支持信息。更多细节见 REFERENCE.md。