docker-containerization について
docker-containerization は、Docker コンテナの構築や改善を支援するスキルです。アプリケーションのデプロイや開発環境の準備に取り組む開発者向けに、ビルド構成、イメージ最適化、セキュリティを扱います。
主な機能
- 01マルチステージ Dockerfile のガイド
- 02イメージ最適化の手法
- 03コンテナのセキュリティ対策
- 04Docker Compose のガイド
- 05言語別リファレンス
活用シーン
- 01デプロイ用アプリケーションのコンテナ化
- 02既存コンテナイメージの最適化
- 03開発環境のセットアップ
- 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.mddockerignore-file.mdmulti-stage-builds.mdoptimization-techniques.mdpython.mdsecurity-best-practices.mdscripts/validate-pipeline.shtemplates/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 ファイル |
| Python | Python(Django/Flask)、Java(Spring Boot)、Go |
ベストプラクティス
✅ 推奨事項
- 公式のベースイメージを使用する
- マルチステージビルドを実装する
- root 以外のユーザーで実行する
- .dockerignore を使用する
- バージョンを具体的に指定する
- ヘルスチェックを追加する
- 脆弱性をスキャンする
- レイヤーを最小限にする
- ビルドキャッシュを効果的に使用する
❌ 避けるべきこと
- 本番環境で 'latest' タグを使用する
- root ユーザーで実行する
- イメージにシークレットを含める
- 不要なレイヤーを作成する
- 不要なパッケージをインストールする
- セキュリティ更新を無視する
- コンテナ内にデータを保存する
コメント
Markdown 対応