mcpField
D
dockerfile-optimise

dockerfile-optimise

github.com/pproencaクラウド・DevOps218347 回インストール11 週間前に更新
リポジトリ

dockerfile-optimise について

Dockerfileの作成、レビュー、コンテナイメージのビルドを行う開発者向けの最適化ガイドです。Docker公式ドキュメントのみを根拠とする48のルールを影響度順に並べ、キャッシュ、イメージサイズ、安全性、検証を扱います。

主な機能

  1. 018カテゴリにわたる48のルール
  2. 02影響度順に並んだガイダンス
  3. 03レイヤーキャッシュとマルチステージビルド
  4. 04イメージ選択とビルドコンテキスト
  5. 05シークレット、依存関係、検証

活用シーン

  1. 01Dockerビルド時間の最適化
  2. 02コンテナイメージサイズの削減
  3. 03Dockerfileのセキュリティプラクティスの確認
  4. 04CI/CDでのDockerビルド設定

インストール

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

$npx skills add https://github.com/pproenca/dot-skills --skill dockerfile-optimise

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

同梱ファイル

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

metadata.json
assets/templates/
_template.md
references/
_sections.md
base-arg-version.md
base-distroless.md
base-minimal-image.md
base-official-images.md
base-pin-versions.md
base-rebuild-regularly.md
cache-apt-combine.md
cache-copy-deps-first.md
cache-copy-link.md
cache-external.md
cache-invalidation.md
cache-layer-order.md
cache-minimize-layers.md
cache-mount-package.md
ctx-bind-mounts.md
ctx-dockerignore.md
ctx-minimize-context.md
ctx-syntax-directive.md
dep-cache-mount-apt.md
dep-cache-mount-npm.md
dep-cache-mount-pip.md
dep-cleanup-caches.md
dep-version-pin.md
inst-copy-over-add.md
inst-entrypoint-exec.md
inst-healthcheck.md
inst-heredoc-scripts.md

詳細

Dockerfile 最適化のベストプラクティス

Docker の公式ドキュメントのみを情報源とする、包括的な Dockerfile 最適化ガイドです。8 つのカテゴリにわたる 48 のルールを含み、自動リファクタリングとコード生成の指針となるよう、影響度の高い順に優先順位を付けています。

適用するタイミング

次のような場合に、これらのガイドラインを参照してください。

  • 新しい Dockerfile を作成するとき、または既存のものを変更するとき
  • Docker のビルド時間を最適化するとき(レイヤーキャッシュ、キャッシュマウント、コンテキスト管理)
  • Docker イメージのサイズを削減するとき(マルチステージビルド、最小限のベースイメージ)
  • コンテナのセキュリティを強化するとき(シークレットマウント、非 root ユーザー、アテステーション)
  • Docker ビルドを含む CI/CD パイプラインを設定するとき
  • Dockerfile のアンチパターンをレビューするとき

優先度別のルールカテゴリ

優先度カテゴリ影響度プレフィックス
1レイヤーキャッシュと順序CRITICALcache-
2マルチステージビルドCRITICALstage-
3ベースイメージの選択HIGHbase-
4ビルドコンテキストの管理HIGHctx-
5セキュリティとシークレットHIGHsec-
6依存関係の管理MEDIUM-HIGHdep-
7命令パターンMEDIUMinst-
8品質と検証MEDIUMlint-

クイックリファレンス

1. レイヤーキャッシュと順序(CRITICAL)
2. マルチステージビルド(CRITICAL)
3. ベースイメージの選択(HIGH)
  • base-minimal-image - 最小限のベースイメージを使用する
  • base-official-images - Docker Official Images を使用する
  • base-pin-versions - ダイジェストを使ってベースイメージのバージョンを固定する
  • base-arg-version - ベースイメージをパラメーター化するため、FROM より前に ARG を使用する
  • base-rebuild-regularly - --pull を使ってイメージを定期的に再ビルドする
  • base-distroless - 本番環境では distroless イメージまたは scratch イメージを使用する
4. ビルドコンテキストの管理(HIGH)
  • ctx-dockerignore - 不要なファイルを除外するために .dockerignore を使用する
  • ctx-bind-mounts - ビルド時のみ必要なファイルには COPY の代わりにバインドマウントを使用する
  • ctx-minimize-context - ビルドコンテキストを小さく保つ
  • ctx-syntax-directive - 最新の BuildKit 機能を利用するために構文ディレクティブを使用する(キャッシュマウント、シークレットマウント、heredoc、COPY --link の前提条件)
5. セキュリティとシークレット(高)
6. 依存関係の管理(中〜高)
  • dep-cache-mount-apt - apt パッケージマネージャーにキャッシュマウントを使用する
  • dep-cache-mount-npm - npm、yarn、pnpm にキャッシュマウントを使用する
  • dep-cache-mount-pip - pip にキャッシュマウントを使用する
  • dep-version-pin - 再現性を確保するためにパッケージのバージョンを固定する
  • dep-cleanup-caches - 同じレイヤー内でパッケージマネージャーのキャッシュを削除する
7. 命令のパターン(中)
8. 品質と検証(中)

使用方法

詳しい説明とコード例については、個別のリファレンスファイルを参照してください。

リファレンスファイル

ファイル説明
references/_sections.mdカテゴリーの定義と順序
assets/templates/_template.md新しいルール用のテンプレート
metadata.jsonバージョンとリファレンス情報

コメント