Анализатор размера слоя изображения Docker
Вставьте свой Dockerfile, чтобы проанализировать предполагаемый вклад размера слоя каждой инструкции RUN, COPY и ADD — и обнаружить закономерности, которые раздувают ваше изображение. Анализатор размера слоя образа Docker выявляет отсутствующую очистку apt, npm devDependency, кэш pip и другие распространенные проблемы, а затем создает оптимизированный файл Dockerfile с внесенными исправлениями. Работает полностью в вашем браузере без необходимости регистрации.
Docker Image Layer Size Analyzer
Paste your Dockerfile to analyze each instruction's estimated layer contribution, detect size-bloating patterns, and get an optimized Dockerfile with fixes applied. The docker image layer size analyzer runs entirely in your browser - no signup required.
Load an example:
Paste your complete Dockerfile. The analyzer detects RUN, COPY, and ADD instructions that create image layers.
Зачем использовать наш анализатор размера слоя изображения Docker?
- Мгновенный анализ слоев Dockerfile: вставьте любой Dockerfile и получите мгновенную разбивку по размерам по слоям — без установки Docker, без сборки образа, без ожидания. Анализатор размера слоя изображения Docker обнаруживает закономерности увеличения размера и за считанные секунды создает оптимизированный файл Dockerfile, полностью в вашем браузере.
- Безопасный онлайн-анализатор размера слоя образа Docker: содержимое Dockerfile никогда не покидает ваше устройство. Анализатор размера слоя изображения Docker полностью работает в вашем браузере — без загрузки на сервер, без передачи данных, 100% конфиденциальность. Безопасно для проприетарных файлов Docker с URL-адресами внутреннего реестра, именами пакетов и секретами сборки.
- Обнаруживает наиболее распространенные шаблоны раздувания Docker: анализатор размера слоя образа Docker обнаруживает шаблоны, которые вызывают наибольшее увеличение размера образа: отсутствие очистки apt, npm devDependency в рабочей среде, кэш pip, apk без --no-cache, COPY.. без.dockerignore и очистка в отдельных инструкциях RUN.
- 100% бесплатно навсегда: анализатор размера слоя изображения Docker абсолютно бесплатен, не требует регистрации, премиум-уровня, ограничений размера Dockerfile и рекламы. Анализируйте неограниченное количество файлов Dockerfile без каких-либо затрат и навсегда.
Распространенные случаи использования анализатора размера слоя образа Docker
- Уменьшение размера рабочего образа. Прежде чем отправлять образ Docker в реестр, воспользуйтесь анализатором размера слоя образа Docker, чтобы определить, какие инструкции RUN больше всего влияют на размер образа. Исправление основных проблем — отсутствие очистки apt, npm devDependency, кэша pip — обычно уменьшает размер рабочего образа на 30–60 %.
- Ускорение сборки конвейеров CI/CD. Меньшие образы Docker быстрее обрабатываются в конвейерах CI/CD, что сокращает время сборки и затраты на инфраструктуру. Анализатор размера слоев образа Docker помогает выявлять и исправлять слои, которые замедляют работу конвейера — особенно большие уровни установки npm или apt-get, которые можно оптимизировать или кэшировать более эффективно.
- Проверка кода Dockerfile: используйте анализатор размера слоя изображения Docker как часть процесса проверки кода Dockerfile. Вставьте Dockerfile коллеги, чтобы быстро выявить типичные ошибки — отдельные инструкции очистки RUN, отсутствие --no-install-recommends или COPY.. без.dockerignore — до того, как образ будет создан и отправлен.
- Kubernetes и оптимизация реестра контейнеров. Меньшие образы сокращают время запуска модулей Kubernetes, снижают затраты на хранение реестра контейнеров и сокращают время передачи данных по сети во время развертываний. Анализатор размера слоя образа Docker помогает соблюдать бюджет размера образа для кластеров Kubernetes и реестров контейнеров с ограничениями на хранилище.
- Изучение лучших практик Docker. Анализатор размера слоев изображений Docker — отличный инструмент обучения для разработчиков, впервые использующих Docker. Загрузите примеры Dockerfiles, чтобы увидеть распространенные антишаблоны, выделенные с пояснениями (отсутствует очистка apt, отдельные инструкции rm -rf и COPY..), и понять, почему каждый шаблон увеличивает размер изображения.
- Планирование многоэтапной сборки. Прежде чем преобразовать одноэтапный файл Dockerfile в многоэтапную сборку, используйте анализатор размера слоев образа Docker, чтобы определить, какие слои содержат инструменты сборки и зависимости, которые должны оставаться на этапе сборки. Разбивка слоев показывает, какие именно инструкции RUN увеличивают размер конечного изображения больше всего.
Что такое анализ слоев образа Docker?
Каждая инструкция RUN, COPY и ADD в файле Dockerfile создает новый слой образа, доступный только для чтения. Окончательный образ Docker представляет собой объединение всех слоев, наложенных друг на друга. Общий размер изображения представляет собой сумму размеров всех слоев. Анализ слоя образа Docker проверяет каждую инструкцию, чтобы оценить ее вклад в размер и обнаружить закономерности, которые неоправданно раздувают изображение. Наш анализатор размера слоев образа Docker анализирует ваш Dockerfile, оценивает размеры слоев с помощью эвристики, основанной на распространенных шаблонах менеджера пакетов, и генерирует оптимизированный Dockerfile с внесенными исправлениями.
Как работает наш анализатор размера слоя изображения Docker
- 1. Вставьте файл Dockerfile. Скопируйте и вставьте весь файл Dockerfile в область ввода или загрузите один из примеров файлов Docker. Анализатор размера слоя изображения Docker обрабатывает многострочные инструкции с продолжениями обратной косой черты и встроенными комментариями. Ваш Dockerfile никогда не покидает ваш браузер.
- 2. Нажмите «Анализ файла Dockerfile». Анализатор анализирует каждую инструкцию, оценивает размеры слоев с помощью эвристики менеджера пакетов (apt-get, apk, pip, npm, Yarn) и обнаруживает распространенные антишаблоны. Проблемы классифицируются по серьезности: высокая (значительное влияние), средняя (среднее влияние) и низкая (незначительное улучшение).
- 3. Просмотрите и примените исправления. В разбивке по слоям отображается каждая инструкция с ее предполагаемым размером, обнаруженными проблемами и предложениями по оптимизации. Нажмите «Оптимизированный файл Dockerfile», чтобы увидеть версию с автоматически примененными общими исправлениями, затем скопируйте ее и обновите свой файл Dockerfile.
Что обнаруживается
- Отсутствует очистка apt: apt-get install без rm -rf /var/lib/apt/lists/* в той же инструкции RUN — кеш apt добавляет к слою 30-50 МБ.
- Отдельная очистка RUN: команда rm -rf в отдельной инструкции RUN НЕ уменьшает размер образа — файлы, удаленные на более позднем уровне, все еще существуют на более раннем уровне. Очистка должна быть связана с && в одном и том же RUN.
- npm devDependities: npm install без --omit=dev устанавливает devDependency в производственные образы — обычно добавляется 50–200 МБ тестовых платформ, инструментов сборки и определений типов.
- Кэш pip/apk: pip install без --no-cache-dir и apk add без --no-cache оставляют кеши менеджера пакетов на уровне, добавляя ненужный размер.
Оценочные размеры слоев по сравнению с фактическими размерами
Анализатор размера слоя изображения Docker использует эвристические оценки, основанные на общих шаблонах Docker — они дают относительное представление о том, какие слои являются самыми большими, а не точное количество байтов. Фактические размеры зависят от базового образа, версии пакета и архитектуры системы. Чтобы узнать точные размеры слоев после создания, используйте историю Docker <image> или инструмент погружения (dive <image>), который показывает точные размеры слоев и изменения на уровне файла. Используйте анализатор размера слоев образа Docker для оптимизации перед сборкой и погружайтесь в проверку после сборки.
Часто задаваемые вопросы
Анализатор размера слоя образа Docker анализирует файл Dockerfile и оценивает вклад в размер каждой инструкции RUN, COPY и ADD, выявляя закономерности, которые увеличивают размер образа, и предлагая варианты оптимизации. Наш бесплатный онлайн-анализатор размеров слоев изображений Docker работает полностью в вашем браузере и не требует регистрации.
Каждая инструкция RUN, COPY и ADD в Dockerfile создает в образе новый слой, доступный только для чтения. Слои накладываются друг на друга — окончательный размер изображения представляет собой сумму всех слоев. Важно отметить, что файлы, удаленные в более поздней инструкции RUN, НЕ удаляются из образа — они остаются на более раннем уровне, поэтому очистка должна происходить в той же инструкции RUN.
Слои Docker неизменяемы: как только файл записывается на слой, он остается там, даже если удаляется на следующем уровне. В результате удаления в новом слое создается «белый» файл, но исходный файл все еще существует в более раннем слое и увеличивает общий размер изображения. Чтобы действительно удалить файлы, удаление должно произойти в той же инструкции RUN, что и установка, с помощью &&.
Да, полностью. Анализатор размера слоя изображения Docker полностью работает в вашем браузере. Содержимое вашего Dockerfile никогда не отправляется ни на какой сервер и никогда не покидает ваше устройство. Весь анализ происходит локально с полной конфиденциальностью — безопасно для проприетарных файлов Dockerfile с внутренними именами пакетов и URL-адресами реестра.
Да – 100% бесплатно, навсегда. Без регистрации, без учетной записи, без премиум-уровня и без рекламы. Анализируйте неограниченное количество файлов Docker совершенно бесплатно.
Наиболее распространенные проблемы: (1) установка apt-get без --no-install-recommends и без очистки /var/lib/apt/lists/*; (2) установка npm без --omit=dev в рабочих образах; (3) установка pip без --no-cache-dir; (4) КОПИРОВАТЬ . . без файла .dockerignore; (5) команды очистки в отдельных инструкциях RUN вместо объединения с помощью &&.
Оценки представляют собой эвристические аппроксимации, основанные на распространенных шаблонах Docker. Они дают относительное представление о том, какие слои являются самыми большими, а не точное количество байтов. Фактические размеры зависят от базового образа, версии пакета и архитектуры системы. Используйте «историю докера <изображение>» или инструмент «погружение», чтобы узнать точные размеры слоев после создания.
История докера показывает точные размеры слоев после создания изображения. Анализатор размера слоев образа Docker работает перед сборкой — он анализирует источник Dockerfile, чтобы обнаружить закономерности, которые приводят к появлению больших слоев, поэтому вы можете исправить их, прежде чем тратить время на сборку. Используйте оба: этот инструмент для оптимизации перед сборкой, историю докеров для проверки после сборки.