mcpField
D
docker-patterns

docker-patterns

github.com/langchain-ai云与 DevOps11956 次安装10 周前更新
代码仓库

关于 docker-patterns

一组用于 Docker 容器化的模式与实践,面向构建镜像和配置容器的开发者。内容涵盖多阶段构建、镜像安全、健康检查及 Compose 配置。

主要功能

  1. 01使用多阶段构建缩小镜像
  2. 02以非 root 用户运行容器
  3. 03固定版本标签并扫描镜像
  4. 04配置 .dockerignore 排除敏感文件
  5. 05为容器设置健康检查

适用场景

  1. 01为应用构建较小的生产镜像
  2. 02检查镜像和容器配置的安全实践
  3. 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"]

安全最佳实践

  1. 切勿以 root 身份运行——使用 USER 指令
  2. 使用明确的版本标签,而不是 latest
  3. 使用 docker scout 或 Trivy 扫描镜像
  4. 使用 .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