Извините, если это глупый вопрос, но:
Я пришел из бродяги, где у нас есть полнофункциональная ОС на каждой машине, где, запустив ps -aux, мы можем видеть процессы ОС и наши службы (я до некоторой степени знаю разницу между приложениями, работающими в виртуальных машинах и Docker).
Затем я только что построил несколько контейнеров с помощью docker-compose и вошел в контейнер с помощью bash (который основан на образе debian: jessie). После запуска ps -aux я могу видеть только установленные мной службы, а не процесс отдельной ОС. Почему? Где они? Как это работает?
У Docker есть виртуальная машина, в которой работают контейнеры, каждый контейнер может быть основан на другом дистрибутиве, поэтому является ли ОС также контейнерной, учитывая тот факт, что для докера есть ОС хоста (ВМ)?
@OliverCharlesworth Итак, на самом деле образ debian: jessie docker - это не операционная система, а ее симуляция в одном процессе?
По сути, все, что вы получаете, - это файловая система, которая выглядит как файловая система в «реальной» системе Jessie (поверх стандартных функций Docker - изолированных сетей и т. д.). Никакой эмуляции / моделирования не происходит.


Docker has a VM in which the containers run
Нет, контейнеры не являются виртуальными машинами (докер включает виртуальную машину для настольных версий, но это не контейнер, и есть среды выполнения виртуальных машин, но это не традиционный контейнер).
Контейнеры - это способ изолировать работающее приложение с пространствами имен ядра для таких вещей, как файловая система, pid и сеть. Все они работают в одном ядре. Получение базового образа для Alpine, Ubuntu и т. д. Дает вам базовую файловую систему, библиотеки, менеджеры пакетов, но не ядро. Единственный процесс, запускаемый внутри контейнера, - это ваше приложение, и когда ваше приложение завершает работу, контейнер тоже. Поэтому вы не увидите запущенных утилит ОС.
См. Также этот ответ
Всякий раз, когда вы слышите «контейнер Docker», просто подумайте «обычный процесс, но с кучей вещей (файловая система, процессы, сетевые вещи и т. д.), Изолированными через пространство имен».