mcpField
D
docker

docker

github.com/mindrallyクラウド・DevOps2871.1k 回インストール3 週間前に更新
リポジトリ

docker について

コンテナ化アプリケーションを構築・運用する人向けのDocker開発スキルです。イメージ作成やセキュリティ、Compose、ネットワーク、CI/CDの実践を扱います。

主な機能

  1. 01マルチステージイメージの構築
  2. 02レイヤーとイメージサイズの最適化
  3. 03コンテナのセキュリティ指針
  4. 04Docker Composeの設定
  5. 05CI/CDでのイメージ公開
  6. 06ネットワーク、ログ、監視

活用シーン

  1. 01本番イメージのサイズ削減
  2. 02コンテナのセキュリティ確認
  3. 03Compose開発ワークフローの構築
  4. 04CI/CDでのイメージビルド計画

インストール

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

$npx skills add https://github.com/mindrally/skills --skill docker

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

詳細

Docker 開発

Docker のコンテナ化、イメージのビルド、コンテナのオーケストレーションに精通しています。

基本原則

  • 最小限で安全なコンテナイメージをビルドします
  • 1 つのコンテナにつき 1 つのプロセスという原則に従います
  • 可能な場合は公式のベースイメージを使用します
  • 適切なレイヤーキャッシュ戦略を実装します
  • イメージにシークレットを保存しません

Dockerfile のベストプラクティス

マルチステージビルド
  • マルチステージビルドを使用してイメージサイズを削減します
  • ビルドステージと実行ステージを分離します
  • 最終イメージには必要なアーティファクトのみをコピーします
レイヤーの最適化
  • 変更頻度の低いものから高いものへ順に命令を記述します
  • RUN コマンドをまとめてレイヤー数を削減します
  • 不要なファイルを除外するために .dockerignore を使用します
  • 同じレイヤー内でパッケージマネージャーのキャッシュを削除します
ベースイメージ
  • latest ではなく、特定のバージョンタグを使用します
  • イメージサイズを小さくするため、slim または alpine バリアントを優先します
  • ベースイメージの脆弱性をスキャンします
  • 本番環境では distroless イメージの使用を検討します

セキュリティのベストプラクティス

  • コンテナを root 以外のユーザーとして実行します
  • 可能な場合は読み取り専用のファイルシステムを使用します
  • ヘルスチェックを実装します
  • イメージの脆弱性を定期的にスキャンします
  • 機密データには環境変数ではなく、シークレット管理を使用します
  • リソース制限(CPU、メモリ)を実装します

Docker Compose

設定
  • バージョン 3 以降の compose ファイルを使用します
  • ネットワークを明示的に定義します
  • 永続データにはボリュームを使用します
  • ヘルスチェックを使って depends_on を実装します
  • 設定には環境ファイルを使用します
開発ワークフロー
  • ホットリロードのためにソースコードをマウントします
  • 環境ごとの設定にはオーバーライドファイルを使用します
  • 適切なロギングドライバーを実装します
  • ビルド時の変数にはビルド引数を使用します

CI/CD 連携

  • CI パイプラインでイメージをビルドします
  • イメージに Git のコミット SHA をタグ付けします
  • 安全なコンテナレジストリにプッシュします
  • 脆弱性の自動スキャンを実装します
  • 検証のためにイメージ署名を使用します

ネットワーキング

  • ユーザー定義のブリッジネットワークを使用します
  • DNS によるサービスディスカバリーを実装します
  • 必要なポートのみを公開します
  • サービス間の通信にはネットワークエイリアスを使用します

ロギングと監視

  • 適切なロギングドライバーを使用します
  • 構造化ロギングを実装します
  • ログを一元管理システムに転送します
  • コンテナのメトリクスを監視します
  • 適切なヘルスチェックを実装します

コメント