Hadolint ваш персональный ревьюер для Dockerfile

11 Jun, 2026
12,228
🔱 495
👥 67

Hadolint logo

Знакомы с ситуацией, когда после сборки Docker-образа внезапно обнаруживаете, что он весит на гигабайт больше нужного? Или когда bash-скрипты внутри RUN инструкций ведут себя не так, как ожидалось? Проект Hadolint создан именно для решения таких проблем.

Что такое Hadolint?

Hadolint — это статический анализатор для Dockerfile, написанный на Haskell. В отличие от простых валидаторов синтаксиса, он:

  • Анализирует Dockerfile на предмет лучших практик
  • Проверяет bash-скрипты внутри RUN инструкций с помощью ShellCheck
  • Поддерживает гибкую систему правил и исключений

Почему стоит попробовать?

1. Более 100 встроенных правил

Hadolint проверяет Dockerfile по множеству критериев:

  • Использование latest тега (DL3006)
  • Отсутствие WORKDIR (DL3000)
  • Ненужные пакеты в образах (DL3015)
  • Проблемы с безопасностью, например, запуск от root (DL3002)

Пример проверки:

Реклама
hadolint Dockerfile

2. Интеграция с ShellCheck

Hadolint автоматически анализирует bash-код внутри RUN инструкций, выявляя:

  • Проблемы с кавычками (SC2086)
  • Неправильное использование переменных (SC2154)
  • Потенциально опасные конструкции

3. Гибкость настройки

Вы можете:

  • Игнорировать определенные правила
# hadolint ignore=DL3006
FROM ubuntu
  • Настраивать уровни важности правил
override:
  error:
    - DL3001
  warning:
    - DL3042

Как использовать?

Установка через Docker (самый простой способ):

docker run --rm -i hadolint/hadolint < Dockerfile

Или через Homebrew:

brew install hadolint

Интеграции

Hadolint легко встраивается в CI/CD:

  • GitHub Actions
  • GitLab CI
  • Pre-commit хуки
  • Плагины для VS Code и других редакторов

Кому особенно пригодится?

  • DevOps-инженерам для поддержания стандартов Docker-образов
  • Разработчикам, которые хотят избежать распространенных ошибок
  • Командам, стремящимся к единому стилю Dockerfile

Hadolint — это не просто линтер, а полноценный помощник в создании оптимальных Docker-образов. С 11k+ звезд на GitHub и активным сообществом, проект доказал свою полезность. Попробуйте — и ваши Dockerfile станут чище, безопаснее и эффективнее.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.