Быстрый линтер Dockerfile на Go: более 60 правил, оценка качества и проверки безопасности секретов и использования ARG.
hadolint/hadolint
Линтер Dockerfile на Haskell: проверяет лучшие практики и с помощью ShellCheck анализирует Bash в инструкциях RUN.
- Звёзды
- 12,489
- Форки
- 510
- Открытые issues
- 185
- Последний коммит
- 3 дня назад
Что это?
Hadolint — линтер Dockerfile. Он разбирает каждый файл в AST и применяет набор правил, чтобы находить проблемы и отклонения от лучших практик создания Docker-образов. Для проверки кода Bash внутри инструкций RUN используется ShellCheck: ошибки в shell-коде на этапах сборки выводятся вместе с проблемами Dockerfile.
Правила обозначаются кодами, например DL3006 для образов без тегов или DL3008 для пакетов apt-get без фиксированной версии; правила ShellCheck имеют префикс SC. Для каждого правила задан уровень важности по умолчанию (error, warning, info, style), который можно переопределить в конфигурационном файле или флагами командной строки. Отдельные строки или файлы целиком можно исключить из проверок с помощью встроенных или глобальных комментариев игнорирования.
Hadolint можно запускать как отдельный бинарный файл, в контейнере Docker или Podman, а также через Homebrew, Scoop и Nix. Результаты можно выводить в форматах tty, json, checkstyle, SARIF, JUnit, GitLab Code Climate и других. Кроме того, Hadolint может проверять, что образы получены из доверенных реестров и имеют обязательные метки.
Ключевые возможности
- 01Разбирает Dockerfile в AST и применяет правила для выявления распространённых нарушений лучших практик.
- 02Проверяет Bash в инструкциях RUN с помощью ShellCheck.
- 03Поддерживает встроенные и глобальные комментарии игнорирования, а также переопределения через конфигурационный файл и переменные окружения.
- 04Экспортирует результаты в разных форматах, включая json, SARIF, JUnit и GitLab Code Climate.
- 05Может предупреждать об образах FROM не из списка доверенных реестров и проверять наличие обязательных меток.
Сценарии использования
- Запуск проверок Dockerfile в CI-пайплайнах с остановкой сборки при нарушениях.
- Проверка Dockerfile локально, в редакторе или с помощью pre-commit hook перед коммитом.
- Внедрение корпоративной политики, разрешающей базовые образы только из одобренных реестров.
Темы
Частые вопросы
- Что такое hadolint?
- Линтер Dockerfile на Haskell: проверяет лучшие практики и с помощью ShellCheck анализирует Bash в инструкциях RUN. Hadolint — линтер Dockerfile. Он разбирает каждый файл в AST и применяет набор правил, чтобы находить проблемы и отклонения от лучших практик создания Docker-образов. Для проверки кода Bash внутри инструкций RUN используется ShellCheck: ошибки в shell-коде на этапах сборки выводятся вместе с проблемами Dockerfile.
- hadolint можно использовать бесплатно? Какая у него лицензия?
- hadolint распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- hadolint всё ещё поддерживается?
- Активно поддерживается. Последний коммит в hadolint — 19 окт. 2026 г..
- Для чего можно использовать hadolint?
- Запуск проверок Dockerfile в CI-пайплайнах с остановкой сборки при нарушениях. Проверка Dockerfile локально, в редакторе или с помощью pre-commit hook перед коммитом. Внедрение корпоративной политики, разрешающей базовые образы только из одобренных реестров.
- Где скачать hadolint?
- Исходный код и инструкции по установке — на GitHub: https://github.com/hadolint/hadolint
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Быстрый CLI-инструмент статического анализа с открытым исходным кодом: находит ошибки и проверяет соблюдение стандартов с помощью похожих на код шаблонов, а не regex или AST.
Сверхбыстрый линтер и форматтер Python-кода на Rust: более 900 правил линтинга и форматирование, совместимое с Black.
Набор инструментов на Rust для веб-проектов: форматировщик и линтер для JavaScript, TypeScript, JSX, JSON, CSS и других языков, доступные через CLI и LSP.
CLI для оценки качества кода в проекте на 14 языках: формирует общий рейтинг и ранжирует файлы.
A pluggable linter and auto-fixer that enforces Protocol Buffer style guide rules without requiring a protoc compiler.