mcpField
D
docker-containerization

docker-containerization

github.com/aj-geddes云与 DevOps374677 次安装34 周前更新
代码仓库

关于 docker-containerization

docker-containerization 是一项 Docker 容器构建与改进技能,面向准备部署应用或设置开发环境的开发者,涵盖构建结构、镜像优化和安全实践。

主要功能

  1. 01多阶段 Dockerfile 指南
  2. 02镜像优化技巧
  3. 03容器安全实践
  4. 04Docker Compose 指南
  5. 05按语言分类的参考资料

适用场景

  1. 01为部署构建应用容器
  2. 02优化现有容器镜像
  3. 03设置开发环境
  4. 04构建 CI/CD 容器流水线

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill docker-containerization

安装后在 Claude Code 中输入/docker-containerization确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
docker-compose-for-multi-container.md
dockerignore-file.md
multi-stage-builds.md
optimization-techniques.md
python.md
security-best-practices.md
scripts/
validate-pipeline.sh
templates/
pipeline.yaml

详细介绍

Docker 容器化

目录

概述

遵循安全性、性能和可维护性方面的最佳实践,构建可用于生产环境的 Docker 容器。

适用场景

  • 将应用容器化以进行部署
  • 为新服务创建 Dockerfile
  • 优化现有容器镜像
  • 设置开发环境
  • 构建 CI/CD 容器流水线
  • 实施微服务

快速入门

最简可运行示例:

# Multi-stage build for Node.js application
# Stage 1: Build
FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build

# Stage 2: Production
FROM node:18-alpine
WORKDIR /app
# Copy only production dependencies and built files
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/dist ./dist
COPY package*.json ./

# Security: Run as non-root user
RUN addgroup -g 1001 -S nodejs && adduser -S nodejs -u 1001
USER nodejs

EXPOSE 3000
CMD ["node", "dist/index.js"]

参考指南

references/ 目录中的详细实现:

指南内容
多阶段构建多阶段构建
优化技术优化技术
安全最佳实践安全最佳实践、环境配置
用于多容器的 Docker Compose用于多容器的 Docker Compose
.dockerignore 文件.dockerignore 文件
PythonPython(Django/Flask)、Java(Spring Boot)、Go

最佳实践

✅ 应该做
  • 使用官方基础镜像
  • 实施多阶段构建
  • 以非 root 用户运行
  • 使用 .dockerignore
  • 固定特定版本
  • 添加健康检查
  • 扫描漏洞
  • 尽量减少层数
  • 有效利用构建缓存
❌ 不应该做
  • 在生产环境中使用 'latest' 标签
  • 以 root 用户运行
  • 在镜像中包含机密
  • 创建不必要的层
  • 安装不必要的软件包
  • 忽略安全更新
  • 在容器中存储数据

评论

支持 Markdown