Форматировщик Dockerfile
Форматируйте Dockerfile и получайте рекомендации по лучшим практикам и линту.
Ваш Dockerfile форматируется и линтится локально в браузере, и ничего из вставленного не загружается на сервер.
Управляете контекстом сборки? Сгенерируйте .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
- Вставьте свой 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 работает полностью в вашем браузере, и вставленный файл обрабатывается локально, поэтому ваши данные не покидают устройство и ничего не отправляется на сервер.
Связанные инструменты
Все инструменты ArrayKit