docker-hadolint について
Docker イメージを保守する開発者向けの、Dockerfile 作成と検査に関するスキルです。Hadolint の固定バージョンを指定し、BuildKit とイメージ構築の手法をまとめています。
主な機能
- 01Hadolint v2.15.1 の固定検証
- 02Docker または Makefile による Dockerfile 検査
- 03BuildKit キャッシュマウントの指針
- 04BuildKit シークレット処理の指針
- 05マルチステージと distroless イメージの指針
活用シーン
- 01Hadolint による Dockerfile の検証
- 02イメージ構築へのキャッシュマウント適用
- 03ビルド用シークレットの最終イメージへの混入防止
- 04ビルド段階と実行段階の分離
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ thebeardedbearsas/ claude-craft --skill docker-hadolintインストール後、Claude Code で/docker-hadolintを入力して読み込まれたか確認します。
詳細
Docker & Hadolint(2026)
バージョン(2026年10月)
- Docker Engine:29.9.0
出典:https://docs.docker.com/engine/release-notes/29/ - Docker Compose:5.6.0(
version:フィールドは非推奨のため、今後は記述しないでください)
出典:https://github.com/docker/compose/releases - Hadolint:v2.15.1(固定された安定版)
出典:https://github.com/hadolint/hadolint/releases/tag/v2.15.1
Hadolint による検証
必ず固定バージョン v2.15.1 を使用してください(latest やタグなしは使用しないでください)。
# Validation Dockerfile
docker run --rm -i hadolint/hadolint:v2.15.1 < Dockerfile
# Validation via Makefile (recommandé)
make hadolint
2026年のベストプラクティス
BuildKit のキャッシュマウント
RUN --mount=type=cache,target=/var/cache/apk \
apk add --no-cache postgresql-dev
メリット:ビルド時間を40~60%短縮
出典:https://docs.docker.com/build/cache/
BuildKit のシークレット
RUN --mount=type=secret,id=composer_token \
COMPOSER_AUTH="$(cat /run/secrets/composer_token)" composer install
メリット:最終イメージにシークレットが残りません
出典:https://docs.docker.com/build/building/secrets/
マルチステージビルド
FROM php:8.4-fpm-alpine AS builder
RUN composer install
FROM php:8.4-fpm-alpine AS runtime
COPY --from=builder /app /app
メリット:イメージサイズを60~97%削減
出典:https://docs.docker.com/build/building/multi-stage/
Distroless イメージ
FROM gcr.io/distroless/php8.4-fpm
COPY --from=builder /app /app
メリット:攻撃対象領域を最小化し、CVEを90%削減
出典:https://github.com/GoogleContainerTools/distroless
完全なドキュメント
アーキテクチャの詳細と例については、@.claude/references/symfony/docker.md を参照してください。
コメント
Markdown 対応