Это может показаться глупым вопросом, но я новичок в концепции контейнеризации, и мне было интересно, почему размер образа ubuntu (~ 80 МБ) из концентратора docker намного меньше, чем его iso-файл (~ 1,8 ГБ)
Контейнер - это изолированное пространство вашего ядра. В ubuntu: изображение 18.04 docker оно не содержит полных двоичных файлов ядра. У него есть только некоторые библиотеки и исполнения с некоторой конфигурацией, необходимой для запуска ubuntu: 18.04, он по-прежнему использует ядро вашего хоста. Вы можете посмотреть, как создается образ ubuntu: 18.04 из Dockerfile из здесь . Я рекомендую вам поискать, как Docker использовать cgroups и namepaces для создания контейнера.
cgroups
namepaces
Docker изображений содержат только необходимую минимальную библиотеку и инструменты, которые на самом деле необходимы для работы операционной системы. Для образов Ubuntu docker в них нет GUI (который не используется в контейнере или редко используется) и большинство инструментов также не включены. Это всего лишь базовая операционная система. Образы Alpine намного меньше, чем образы Ubuntu.