Dockerfile Optimizer — Dockerfile 优化器
v1.0.0优化Dockerfiles以实现更小的镜像,速度更快的构建,更加安全和生产就绪 —— 多阶段构建,层缓存,漏洞减少。
0· 0·0 当前·0 累计
运行时依赖
无特殊依赖
安装命令
点击复制官方npx clawhub@latest install cm-dockerfile-optimizer
镜像加速npx clawhub@latest install cm-dockerfile-optimizer --registry https://cn.longxiaskill.com 镜像可用
技能文档
Dockerfile 优化器 分析和优化 Dockerfile,以实现更小的镜像大小、更快的构建、更好的层缓存和生产安全。 审查构建阶段、基础镜像、层次顺序、秘密处理和运行时配置。 当 Docker 镜像太大、构建太慢或准备容器用于生产时使用。 用法 "优化此 Dockerfile" "减少我的 Docker 镜像大小" "检查我的 Dockerfile 中的安全问题" "加速我的 Docker 构建" "使此 Dockerfile 生产就绪"
工作原理
- Dockerfile 分析
- 镜像大小减少
- 构建速度
- 安全加固
- 生产就绪
Dockerfile 优化报告
当前镜像: myapp:latest (847MB,23 层) 优化估计: ~95MB (8 层)🔴 严重问题 (3)
- 以根用户身份运行 — 没有 USER 指令
RUN addgroup -g 1001 app && adduser -u 1001 -G app -D app
→ 添加:USER app 在 ENTRYPOINT 之前
- 构建参数中的秘密 —
ARG DB_PASSWORD
--mount=type=secret 或运行时环境变量
- 没有 .dockerignore — 发送 2.1GB 构建上下文
⚡ 大小减少
| 更改 | 大小影响 | |--------|------------| | node:18 → node:18-alpine | -780MB | | 多阶段构建 | -340MB (开发依赖项) | | .dockerignore | -2.1GB 上下文 | | 合并 RUN 层 | -45MB (缓存) | | 总计 | 847MB → ~95MB (-89%) |🏗️ 优化的 Dockerfile
FROM node:18-alpine AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN --mount=type=cache,target=/root/.npm npm ci
COPY . .
RUN npm run build
FROM node:18-alpine
RUN addgroup -g 1001 app && adduser -u 1001 -G app -D app
WORKDIR /app
COPY --from=builder --chown=app:app /app/dist ./dist
COPY --from=builder --chown=app:app /app/node_modules ./node_modules
COPY --from=builder --chown=app:app /app/package.json ./
USER app
EXPOSE 3000
HEALTHCHECK --interval=30s CMD wget -qO- http://localhost:3000/health
ENTRYPOINT ["node", "dist/index.js"]
构建速度
添加了层缓存:依赖项安装缓存单独
BuildKit 缓存挂载:npm 缓存在构建之间持续存在
预计构建时间:45s → 12s (温缓存)