Форматтер Dockerfile онлайн: линтинг и очистка

Форматтер Dockerfile, который приводит инструкции к верхнему регистру, наводит порядок в пробелах и отмечает проблемы лучших практик.

Ваш Dockerfile форматируется и линтится локально в браузере, и ничего из вставленного не загружается на сервер.

Создаёт и поддерживает Udit Agarwal

Управляете контекстом сборки? Сгенерируйте .gitignore с помощью Gitignore Generator.

Об инструменте Форматировщик Dockerfile

Этот форматтер Dockerfile наводит порядок в вашем Dockerfile и проверяет его на соответствие лучшим практикам Docker за один проход. Вставьте Dockerfile, и он нормализует каждое ключевое слово инструкции к верхнему регистру, обрезает завершающие пробелы и сворачивает повторяющиеся пустые строки, чтобы файл читался согласованно. Работая как лёгкий линтер Dockerfile, он также отмечает распространённые проблемы: незакреплённые теги базового образа, ADD там, где уместен COPY, установки apt-get без --no-install-recommends, оставшиеся кэши apt, использование sudo, cd внутри RUN, объединяемые слои RUN и контейнеры, оставленные работающими от root. Он создан для разработчиков и DevOps-инженеров, которые хотят отформатировать Dockerfile онлайн и подтянуть сборки образов согласно лучшим практикам dockerfile перед коммитом. Всё работает локально в вашем браузере, поэтому вставленный Dockerfile обрабатывается на вашей машине и ваши данные не покидают устройство.

Возможности

  • Приводит каждую инструкцию Dockerfile (FROM, RUN, COPY, CMD и другие) к верхнему регистру для согласованного стиля
  • Обрезает завершающие пробелы и сворачивает повторяющиеся пустые строки
  • Предупреждает, когда базовый образ использует :latest или не имеет закреплённого тега
  • Предлагает COPY вместо ADD для локальных файлов
  • Рекомендует --no-install-recommends и очистку кэша apt для уменьшения образов
  • Отмечает использование sudo и контейнеры, работающие от root без установленного USER
  • Обнаруживает последовательные шаги RUN, которые можно объединить для сокращения слоёв
  • Показывает каждое предложение со значком WARN или TIP и номером строки

Как использовать Форматировщик Dockerfile

  1. Вставьте свой Dockerfile в поле ввода.
  2. Читайте очищенный вывод с инструкциями в верхнем регистре в панели «Отформатированный Dockerfile».
  3. Просмотрите проверки лучших практик под выводом на предмет предложений WARN и TIP.
  4. Примените нужные исправления, затем скопируйте или скачайте результат как Dockerfile.

Пример

Ввод

from node:latest
run apt-get update && apt-get install curl
copy . .
cmd ["node","app.js"]

Результат

FROM node:latest
RUN apt-get update && apt-get install curl
COPY . .
CMD ["node","app.js"]

Инструкции приведены к верхнему регистру и упорядочены; панель проверок по-прежнему предупреждает закрепить тег node, добавить --no-install-recommends и задать USER без root.

Частые ошибки и устранение неполадок

  • Вывод выглядит идентично вашему вводу. — Форматтер только нормализует регистр, пробелы и пустые строки. Если ваши инструкции уже были в верхнем регистре и чистыми, менять нечего. Проверьте вместо этого панель лучших практик на предмет предложений.
  • Линтинг отмечает ADD, хотя вы скачиваете по URL или извлекаете архив. — Предупреждение COPY вместо ADD пропускается для ADD с http(s) URL и для архивов .tar/.gz/.tgz/.bz2/.xz/.zip. Для обычных локальных файлов переключитесь на COPY, чтобы убрать предупреждение.
  • Предупреждение USER появляется даже после того, как вы переключились на пользователя без root. — Проверка ищет инструкцию USER в любом месте файла. Убедитесь, что строка начинается с ключевого слова USER и не закомментирована, чтобы она распознавалась.
  • Продолжения строк или необычные строки остаются нетронутыми. — Строки, которые не распознаются как инструкции, например продолжения с обратной косой чертой, намеренно сохраняются как есть, чтобы не сломать многострочные команды RUN.

Часто задаваемые вопросы

Что такое форматтер Dockerfile от ArrayKit и что он меняет?
Это браузерный форматтер Dockerfile, который приводит каждое ключевое слово инструкции к верхнему регистру, обрезает завершающие пробелы и сворачивает несколько пустых строк в одну. Он не переписывает и не переупорядочивает ваши команды, поэтому логика вашей сборки остаётся нетронутой.
Как проверить мой Dockerfile на лучшие практики с помощью этого инструмента?
Просто вставьте свой Dockerfile. Вместе с форматированием он выполняет проверки незакреплённых базовых тегов, ADD против COPY, флагов apt-get и очистки кэша, использования sudo, cd в RUN, объединяемых слоёв RUN и работы от root, показанные как предложения WARN и TIP с номерами строк.
Почему форматтер Dockerfile предупреждает меня закрепить тег базового образа?
Использование :latest или отсутствие тега означает, что ваша сборка может неожиданно измениться при обновлении базового образа. Закрепление конкретного тега, например node:20-alpine, делает сборки воспроизводимыми.
Могу ли я скачать отформатированный Dockerfile?
Да, вы можете скопировать вывод или скачать его как обычный Dockerfile прямо из панели отформатированного вывода.
Загружается ли мой Dockerfile куда-либо при использовании этого форматтера?
Нет. Форматтер Dockerfile работает полностью в вашем браузере, и вставленный файл обрабатывается локально, поэтому ваши данные не покидают устройство и ничего не отправляется на сервер.

Связанные инструменты

  • YAML ↔ JSON — Преобразуйте YAML в JSON и обратно.
  • Форматировщик SQL — Форматируйте SQL для MySQL, PostgreSQL, SQL Server, SQLite, BigQuery и Oracle.
  • Форматировщик JSON — Форматируйте, минимизируйте и проверяйте JSON с указанием места ошибок.
  • Форматировщик XML — Форматируйте, минифицируйте и проверяйте XML, преобразуйте XML ↔ JSON.
  • Форматировщик GraphQL — Форматируйте или минифицируйте запросы и схемы GraphQL, проверяйте синтаксис и извлекайте операции.
  • Генератор .gitignore — Создайте .gitignore из распространённых шаблонов для языков и инструментов.
  • Форматирование запросов MongoDB — Форматируйте запросы оболочки MongoDB и конвейеры агрегации.
  • Калькулятор chmod — Преобразуйте права доступа к файлам Unix между восьмеричной и символьной формой (rwx).

Другие инструменты: Форматировщики кода

Все инструменты: Форматировщики кода (32) · Все инструменты