Контейнеры не работают с полной ОС, они совместно используют ядро хост-ОС (обычно это ядро Linux). Это поле «Host Operating System» на вашем правом изображении.
Они предоставляют то, что называется «изоляцией пространства пользователя», хотя - грубо говоря, это означает, что каждый контейнер управляет своей собственной копией той части ОС, которая работает в пользовательском режиме - обычно это дистрибутив Linux, такой как Ubuntu. На вашем правом изображении это будет находиться в поле «Bins / Libs».
Вы можете пропустить строку FROM
в вашем Dockerfile или использовать FROM scratch
, чтобы создать пустое базовое изображение , а затем добавить все части пользовательского режима поверх пустого ядра самостоятельно.