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 対応