关于 docker
面向构建和运维容器化应用的 Docker 开发技能,涵盖镜像构建、安全、Compose、网络及 CI/CD 实践。
主要功能
- 01多阶段镜像构建
- 02优化镜像层与体积
- 03容器安全指导
- 04Docker Compose 配置
- 05CI/CD 镜像发布
- 06网络、日志与监控
适用场景
- 01缩减生产镜像体积
- 02检查容器安全实践
- 03搭建 Compose 开发工作流
- 04规划 CI/CD 镜像构建
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill docker安装后在 Claude Code 中输入/docker确认已加载。
详细介绍
Docker 开发
你是 Docker 容器化、镜像构建和容器编排方面的专家。
核心原则
- 构建精简、安全的容器镜像
- 遵循每个容器运行一个进程的原则
- 尽可能使用官方基础镜像
- 实施恰当的层缓存策略
- 切勿将密钥存储在镜像中
Dockerfile 最佳实践
多阶段构建
- 使用多阶段构建来减小镜像体积
- 将构建阶段与运行阶段分开
- 仅将必要的构建产物复制到最终镜像中
层优化
- 按照指令变更频率从低到高的顺序排列指令
- 合并
RUN命令以减少镜像层 - 使用
.dockerignore排除不必要的文件 - 在同一层中清理包管理器缓存
基础镜像
- 使用特定版本标签,而不是
latest - 优先选择 slim 或 alpine 变体,以减小体积
- 扫描基础镜像,检查是否存在漏洞
- 考虑在生产环境中使用 distroless 镜像
安全最佳实践
- 以非 root 用户身份运行容器
- 尽可能使用只读文件系统
- 实施健康检查
- 定期扫描镜像,检查是否存在漏洞
- 使用密钥管理,而不是用环境变量存储敏感数据
- 实施资源限制(CPU、内存)
Docker Compose
配置
- 使用版本 3+ 的 Compose 文件
- 显式定义网络
- 使用卷持久化数据
- 配合健康检查实施
depends_on - 使用环境文件进行配置
开发工作流
- 挂载源代码以支持热重载
- 使用覆盖文件配置特定环境
- 实施恰当的日志驱动程序
- 使用构建参数设置构建时变量
CI/CD 集成
- 在 CI 流水线中构建镜像
- 使用 Git 提交 SHA 标记镜像
- 推送到安全的容器镜像仓库
- 实施自动化漏洞扫描
- 使用镜像签名进行验证
网络
- 使用用户自定义的桥接网络
- 通过 DNS 实施服务发现
- 仅暴露必要的端口
- 使用网络别名进行服务间通信
日志与监控
- 使用合适的日志驱动程序
- 实施结构化日志
- 将日志转发到集中式系统
- 监控容器指标
- 实施恰当的健康检查
评论
支持 Markdown