Этот форматтер 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
Вставьте свой Dockerfile в поле ввода.
Читайте очищенный вывод с инструкциями в верхнем регистре в панели «Отформатированный Dockerfile».
Просмотрите проверки лучших практик под выводом на предмет предложений WARN и TIP.
Примените нужные исправления, затем скопируйте или скачайте результат как 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 работает полностью в вашем браузере, и вставленный файл обрабатывается локально, поэтому ваши данные не покидают устройство и ничего не отправляется на сервер.