Короткий ответ
Команда docker images (синоним docker image ls) показывает список образов на хосте; колонка REPOSITORY:TAG — человекочитаемое имя и версия, IMAGE ID — уникальный идентификатор содержимого образа, SIZE — суммарный размер его уникальных слоёв.
Как это работает подробнее
docker images читает локальную метаинформацию о скачанных и собранных образах. IMAGE ID — это укороченный хеш (производный от digest манифеста образа), однозначно определяющий содержимое; несколько разных REPOSITORY:TAG могут указывать на один и тот же IMAGE ID, если это фактически один и тот же собранный образ, просто с разными именами/тегами.
Пример кода
Пример конфигурации
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myapp 1.0 9f8e7d6c5b4a 2 days ago 128MB
myapp latest 9f8e7d6c5b4a 2 days ago 128MB
<none> <none> a1b2c3d4e5f6 5 days ago 130MBЧто использовать на практике
- Практика. эту команду используют, чтобы проверить, что сборка действительно создала новый образ с ожидаемым тегом, оценить размер образов перед публикацией в реестр, найти "висячие" (без тега,
NONE) образы от незавершённых или перезаписанных сборок.
Подводные камни
- Риск. путают
SIZEв выводеdocker imagesс реальным приростом места на диске при добавлении нового образа — если образы делят общие нижние слои (например, один и тот же базовыйFROM), фактический прирост на диске будет меньше суммы отображаемых размеров, так как общие слои хранятся один раз.