Мы запросили размеры официальных образов через API Docker Hub 27 августа 2026 года. python:3.13 весит 393,7 МиБ, его alpine-вариант — 16,1. Разница в двадцать четыре раза.
А рост того же образа между мажорными версиями за несколько лет — 1,9%. Размер образа определяется выбором варианта, а не устареванием. Ниже — цифры, три неочевидных вывода из них и объяснение, почему линии тренда по всему реестру не существует с 2017 года.
Бесплатный онлайн-инструмент — проверка HTTP-заголовков: результат мгновенно, без регистрации.
27 августа 2026 года мы запросили размеры официальных образов через публичный API Docker Hub — платформа linux/amd64, размер сжатый, то есть тот, что реально едет по сети:
| Образ | полный | slim | alpine | полный → alpine |
|---|---|---|---|---|
| python:3.13 | 393,7 МиБ | 41,0 | 16,1 | 24× |
| node:22 | 389,5 | 76,2 | 55,1 | 7,1× |
| golang:1.25 | 291,2 | — | 61,4 | 4,7× |
| postgres:17 | 153,8 | — | 111,8 | 1,4× |
Базовые образы для масштаба: alpine 3,7 МиБ, busybox 2,1, debian:stable-slim 28,4, ubuntu 39,6. Прикладные: nginx 60,4, redis 52,9, mysql 259,7, mongo 321,1, wordpress 262,0.
По 22 официальным образам с меткой latest: минимум 2,1 МиБ, первая четверть 42,3, медиана 80,5, третья четверть 260,3, максимум 422,5, среднее 136,3.
Оговорка: это официальные образы Docker Hub, а не срез реестра. Выборка удобная, из популярных образов; про длинный хвост Docker Hub она не говорит ничего.
Исходные данные всех таблиц этого отчёта доступны в виде открытого CSV-файла (UTF-8, первая строка — заголовки).
Скачать датасет (CSV)Первое: выбор варианта решает, а дрейф версий — нет. Разница между полным и alpine — от 5 до 24 раз. А рост между мажорными версиями за несколько лет: python 3.9 → 3.13 плюс 1,9%, node 18 → 24 плюс 3,5%, golang 1.21 → 1.25 плюс 2,8%. Размер образа — это архитектурное решение, а не следствие устаревания.
Второе: экономия от alpine рушится на образах с данными. У python переход даёт 24 раза, у postgres — 1,4. Совет «берите alpine» осмыслен для языковых рантаймов и почти бесполезен для прикладных образов, где вес — это бинарники и данные, а не системная обвязка.
Третье: «минимальный» не значит «мало слоёв». Образ distroless/python3 весит 18,8 МиБ при 43 слоях — больше, чем у любого официального образа Docker Hub из нашей выборки. Число слоёв не является заменителем размера, хотя его часто так используют.
Для сравнения, остальные distroless: static 0,68 МиБ при 12 слоях, base 7,79 при 14, java21 60,25 при 30.
Единственное измерение размеров и слоёв по всему реестру сделано в мае 2017 года: 355 319 образов из 457 627 публичных репозиториев Docker Hub. Тогда медиана составила 94 МБ без сжатия и 17 МБ со сжатием, девяносто процентов образов имели меньше 18 слоёв, мода — 8 слоёв.
С тех пор такого замера не делал никто. Единственный обход экосистемы с данными 2026 года охватил 12,7 млн репозиториев Docker Hub, но он сделан под задачи безопасности и размеров со слоями не публикует вовсе.
Поэтому линии тренда за 2023–2026 годы не существует, и подставлять цифру 2017 года как актуальную нельзя. Заодно нет и процентного разбиения alpine против slim против distroless против полного по большому корпусу образов — этого не публикует никто ни на какую дату.
Что известно про базовые образы косвенно: по популярности скачиваний на 27 августа 2026 года busybox 12,78 млрд, alpine 12,16 млрд, ubuntu 10,03 млрд, debian 1,71 млрд. Distroless в этой статистике отсутствует — он живёт в другом реестре и несопоставим.
Таблицы «типичных размеров» от поставщиков минимальных образов не являются измерением: у них нет ни методики, ни числа образов, ни даты замера. Показательная деталь — в одной такой таблице собственный образ вендора указан больше, чем alpine.
Утверждение «размеры образов выросли впятеро» восходит к фразе про пятикратный рост bloat — доли неиспользуемых пакетов внутри образа. Это не мегабайты, и в этом отчёте размеры в мегабайтах не измерялись никогда.
Из достоверного про лишнее: у более чем половины двадцати самых скачиваемых прикладных контейнеров доля неиспользуемых файлов превышает 60% (теги конца 2024 года, выборка из двадцати образов — этого мало для оценки популяции, но достаточно, чтобы понять порядок).
И отдельная категория — образы для машинного обучения: по 739 собранным образам медиана 5,69 ГБ при среднем 10,27 ГБ, причём базовый образ даёт лишь 16–21% веса, остальное — слои самого проекта. Данные примерно 2024 года при публикации в июле 2026-го.
Замеры воспроизводимы: API Docker Hub отдаёт размер по платформам одним запросом.
Alpine (5MB base) — есть shell + package manager. Distroless (0MB tools) — только runtime. Distroless безопаснее, но debug сложнее (no shell).
FROM node:20 AS build → npm build. FROM node:20-alpine → COPY --from=build /app/dist. Final image 50 MB вместо 1 GB.
musl libc reliability ниже glibc на некоторых Python libs. Regular security updates via apk. CVEs patched за 1-7 дней.
docker images | grep myapp + dive myapp:latest для layer analysis. Dive показывает wasted space.
Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.