关于 docker-containerization
docker-containerization 是一项 Docker 容器构建与改进技能,面向准备部署应用或设置开发环境的开发者,涵盖构建结构、镜像优化和安全实践。
主要功能
- 01多阶段 Dockerfile 指南
- 02镜像优化技巧
- 03容器安全实践
- 04Docker Compose 指南
- 05按语言分类的参考资料
适用场景
- 01为部署构建应用容器
- 02优化现有容器镜像
- 03设置开发环境
- 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.mddockerignore-file.mdmulti-stage-builds.mdoptimization-techniques.mdpython.mdsecurity-best-practices.mdscripts/validate-pipeline.shtemplates/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 文件 |
| Python | Python(Django/Flask)、Java(Spring Boot)、Go |
最佳实践
✅ 应该做
- 使用官方基础镜像
- 实施多阶段构建
- 以非 root 用户运行
- 使用 .dockerignore
- 固定特定版本
- 添加健康检查
- 扫描漏洞
- 尽量减少层数
- 有效利用构建缓存
❌ 不应该做
- 在生产环境中使用 'latest' 标签
- 以 root 用户运行
- 在镜像中包含机密
- 创建不必要的层
- 安装不必要的软件包
- 忽略安全更新
- 在容器中存储数据
评论
支持 Markdown