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

コメント