Skills Development Docker Best Practices for Production Deployment

Docker Best Practices for Production Deployment

v20260517
docker-patterns
A comprehensive guide to building, optimizing, and deploying production-grade Docker images and containers. Covers advanced concepts such as multi-stage builds, layer caching optimization, security hardening (non-root users, secrets), health checks, and effective volume/network configuration using docker-compose.
Get Skill
163 downloads
Overview

Docker パターン

本番環境対応のDocker イメージとコンテナ。

使用時期

  • Dockerfile を書く
  • イメージサイズを最適化
  • マルチステージビルド
  • ネットワークと永続化を設定
  • デプロイメント戦略

Dockerfile ベストプラクティス

1. イメージサイズを最小化

FROM node:18-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm install

FROM node:18-alpine
WORKDIR /app
COPY --from=build /app/node_modules ./node_modules
COPY . .
CMD ["node", "server.js"]

2. レイヤー最適化

# キャッシュを活用するため、変更がない部分を上に
FROM node:18-alpine
WORKDIR /app

# 依存関係(変更が少ない)
COPY package*.json ./
RUN npm install

# アプリケーション(頻繁に変更)
COPY . .

CMD ["node", "server.js"]

3. セキュリティ

  • root ユーザーで実行しない
  • シークレットを避ける
  • ヘルスチェック追加
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
  CMD node healthcheck.js

docker-compose

version: '3.8'
services:
  app:
    build: .
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
    volumes:
      - ./data:/app/data
    depends_on:
      - db
  db:
    image: postgres:15
    environment:
      - POSTGRES_PASSWORD=secret

チェックリスト

  • イメージサイズ最適化
  • セキュリティスキャン
  • ヘルスチェック
  • ログ管理
  • ネットワーク構成

詳細については、ドキュメントを参照してください。

Info
Category Development
Name docker-patterns
Version v20260517
Size 1.88KB
Updated At 2026-05-18
Language