Docker & Hadolint(2026)是一个围绕 Docker 容器与 Dockerfile 校验的技能,适用于使用 Docker、容器或需要验证 Dockerfile 的工作场景。
一、用途 该技能用于 Docker 与 Hadolint 的校验,帮助在构建容器镜像前检查 Dockerfile 的规范性。资料明确其使用场景为:处理 Docker、容器,或验证 Dockerfile 时使用。
二、版本信息(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 或不带标签的版本。
Dockerfile 校验命令: docker run --rm -i hadolint/hadolint:v2.15.1 < Dockerfile
通过 Makefile 校验(推荐): 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 获取完整架构与示例。
六、限制与未提供信息 资料未提供该技能的安装步骤、收费方式、价格、支持平台、具体效果验证方法等细节,这些内容暂未提供。