SuperAPI AI 工具集

docker-optimization

部署与运维

查看项目

更新于 10-16 03:43

技能介绍

用途:减少镜像体积、缩短构建时间并优化容器运行性能,依据 2024-2025 实践给出优化建议。参数包括 target(all/size/build/runtime),以及 base_image、current_size 等可选信息。

主要能力与做法:

  1. 体积缩减:按场景选基础镜像(scratch 用于静态 Go/Rust 二进制,distroless 2-20MB,alpine 5MB,slim 80-150MB,full 500MB+ 仅开发);合并 RUN 层并及时清理缓存(apt-get clean、rm -rf /var/lib/apt/lists/*、npm cache clean --force、pip cache purge);用 .dockerignore 排除 node_modules、.git、测试与文档等。
  2. 构建加速:先复制依赖清单再复制源码(如先 COPY package*.json 后 npm ci,再 COPY . .);启用 BuildKit 并使用缓存挂载(--mount=type=cache,target=/root/.npm 或 /root/.cache/pip);使用并行多阶段构建(deps/builder/linter 等)。
  3. 运行时性能:设置资源限制(compose 中 deploy.resources 的 limits/reservations,或 docker run 的 --memory=512m、--cpus=1.5、--device-read-bps 等);检查清单涵盖健康检查、非 root 用户与只读文件系统。

分析命令:docker images --format 查看镜像大小、docker history <image> --format 查看层信息、dive <image> 深入分析、DOCKER_BUILDKIT=1 docker build --progress=plain . 查看构建耗时。

调用方式:Skill("docker-optimization"),相关技能有 docker-multi-stage、dockerfile-basics、docker-production。

限制:以上为通用优化指导,具体收益因项目而异;该资料未提供版本要求、收费、平台支持或兼容性细节。