Repolode
hadolint

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 обновляется ежедневно.

Похожие проекты