关于 docker-patterns
一组用于 Docker 容器化的模式与实践,面向构建镜像和配置容器的开发者。内容涵盖多阶段构建、镜像安全、健康检查及 Compose 配置。
主要功能
- 01使用多阶段构建缩小镜像
- 02以非 root 用户运行容器
- 03固定版本标签并扫描镜像
- 04配置 .dockerignore 排除敏感文件
- 05为容器设置健康检查
适用场景
- 01为应用构建较小的生产镜像
- 02检查镜像和容器配置的安全实践
- 03为服务添加健康检查与 Compose 配置
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ langchain-ai/ skills-benchmarks --skill docker-patterns安装后在 Claude Code 中输入/docker-patterns确认已加载。
详细介绍
Docker 容器化模式
使用现代模式构建高效、安全的 Docker 镜像。
多阶段构建
始终使用多阶段构建以最小化镜像大小:
# Build stage
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
# Production stage
FROM node:20-alpine
WORKDIR /app
COPY --from=builder /app/node_modules ./node_modules
COPY . .
USER node
CMD ["node", "server.js"]
安全最佳实践
- 切勿以 root 身份运行——使用
USER指令 - 使用明确的版本标签,而不是
latest - 使用
docker scout或 Trivy 扫描镜像 - 使用
.dockerignore排除敏感文件
健康检查
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD curl -f http://localhost:3000/health || exit 1
Compose 模式
services:
app:
build:
context: .
target: production
environment:
- NODE_ENV=production
deploy:
resources:
limits:
memory: 512M
评论
支持 Markdown