mcpField
D
docker-containerization

docker-containerization

github.com/aj-geddesクラウド・DevOps374677 回インストール34 週間前に更新
リポジトリ

docker-containerization について

docker-containerization は、Docker コンテナの構築や改善を支援するスキルです。アプリケーションのデプロイや開発環境の準備に取り組む開発者向けに、ビルド構成、イメージ最適化、セキュリティを扱います。

主な機能

  1. 01マルチステージ Dockerfile のガイド
  2. 02イメージ最適化の手法
  3. 03コンテナのセキュリティ対策
  4. 04Docker Compose のガイド
  5. 05言語別リファレンス

活用シーン

  1. 01デプロイ用アプリケーションのコンテナ化
  2. 02既存コンテナイメージの最適化
  3. 03開発環境のセットアップ
  4. 04CI/CD コンテナパイプラインの構築

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill docker-containerization

インストール後、Claude Code で/docker-containerizationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
docker-compose-for-multi-container.md
dockerignore-file.md
multi-stage-builds.md
optimization-techniques.md
python.md
security-best-practices.md
scripts/
validate-pipeline.sh
templates/
pipeline.yaml

詳細

Docker コンテナ化

目次

概要

セキュリティ、パフォーマンス、保守性に関するベストプラクティスに沿って、本番環境に対応した Docker コンテナを構築します。

使用する場面

  • デプロイ用にアプリケーションをコンテナ化する
  • 新しいサービス用の Dockerfile を作成する
  • 既存のコンテナイメージを最適化する
  • 開発環境を構築する
  • CI/CD コンテナパイプラインを構築する
  • マイクロサービスを実装する

クイックスタート

最小限の実行例:

# Multi-stage build for Node.js application
# Stage 1: Build
FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build

# Stage 2: Production
FROM node:18-alpine
WORKDIR /app
# Copy only production dependencies and built files
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/dist ./dist
COPY package*.json ./

# Security: Run as non-root user
RUN addgroup -g 1001 -S nodejs && adduser -S nodejs -u 1001
USER nodejs

EXPOSE 3000
CMD ["node", "dist/index.js"]

リファレンスガイド

詳細な実装については、references/ ディレクトリを参照してください。

ガイド内容
マルチステージビルドマルチステージビルド
最適化テクニック最適化テクニック
セキュリティのベストプラクティスセキュリティのベストプラクティス、環境設定
マルチコンテナ用 Docker Composeマルチコンテナ用 Docker Compose
.dockerignore ファイル.dockerignore ファイル
PythonPython(Django/Flask)、Java(Spring Boot)、Go

ベストプラクティス

✅ 推奨事項
  • 公式のベースイメージを使用する
  • マルチステージビルドを実装する
  • root 以外のユーザーで実行する
  • .dockerignore を使用する
  • バージョンを具体的に指定する
  • ヘルスチェックを追加する
  • 脆弱性をスキャンする
  • レイヤーを最小限にする
  • ビルドキャッシュを効果的に使用する
❌ 避けるべきこと
  • 本番環境で 'latest' タグを使用する
  • root ユーザーで実行する
  • イメージにシークレットを含める
  • 不要なレイヤーを作成する
  • 不要なパッケージをインストールする
  • セキュリティ更新を無視する
  • コンテナ内にデータを保存する

コメント