Docker Expert 是一个专家级 Docker 容器化技能,围绕 Dockerfile 优化、多阶段构建、容器安全、网络与 Docker Compose 编排提供系统化指导。
用途 该技能用于构建高效的 Docker 镜像、管理容器生命周期与编排多容器应用,帮助开发与运维人员在镜像体积、构建速度、安全性和资源利用方面进行优化。
主要能力
- Docker 基础:镜像构建、分层与缓存策略、镜像优化;容器生命周期管理、资源限制、健康检查;镜像仓库(Docker Hub、私有仓库)与镜像标签策略;存储(卷、绑定挂载、tmpfs 挂载);网络(bridge、host、overlay、自定义网络);安全(用户命名空间、能力、密钥管理)。
- Dockerfile 最佳实践:多阶段构建以减少镜像体积和构建时间;层优化以减少层数与缓存失效;基础镜像选择(Alpine、Distroless、scratch);构建参数;健康检查;信号处理与优雅关闭。
- Docker Compose:多容器应用的服务定义;服务依赖与启动顺序;服务发现与通信;持久化数据管理;环境变量配置管理;按环境区分的 profiles。
使用方式 技能以实践示例和检查清单形式给出具体做法,包括:
- 多阶段构建示例(Node.js 构建阶段与生产阶段分离,仅复制生产依赖与构建产物)。
- 层缓存优化示例(先复制依赖清单并安装,再复制频繁变更的应用代码)。
- .dockerignore 示例(排除 node_modules、.git、.env、dist、缓存目录等)。
- 安全实践:创建非 root 用户并切换 USER;使用 distroless 镜像;使用 Docker Scout 或 Trivy 扫描镜像漏洞。
- 资源管理:在 docker-compose.yml 中通过 deploy.resources 设置 CPU 与内存的 limits 和 reservations;使用 HEALTHCHECK 指令配置健康检查。
- 网络:为前端、后端、数据库划分自定义网络以实现服务隔离。
- 反模式示例:避免以 root 运行、避免安装不必要的包、避免在生产使用 latest 标签、避免在镜像中嵌入密钥。
- 高级模式:BuildKit 缓存挂载(--mount=type=cache)缓存 Go 模块与构建产物;Docker Compose profiles 按环境启用服务。
- 检查清单:多阶段构建、非 root 用户、具体镜像标签、.dockerignore、层缓存优化、健康检查、资源限制、distroless 或最小基础镜像、漏洞扫描、信号处理(SIGTERM)、重启策略、密钥管理、记录暴露端口与卷、部署前测试镜像。
适用场景 适用于需要构建和优化 Docker 镜像、编写 Dockerfile、使用 Docker Compose 编排多服务应用、提升容器安全性与资源管理水平的开发与运维场景。
限制 资料未提供该技能的具体安装命令、运行环境要求、收费方式、价格、平台支持范围或实际效果数据,这些信息暂未提供。