Как docker выделяет память для процесса в контейнере?

Docker сначала инициализирует контейнер, а затем запускает нужную вам программу. Интересно, как docker управляет адресом памяти контейнера и программой в нем.

2 ответа

Docker не выделяет память, это ОС, которая управляет ресурсами, используемыми программами. Docker ( внутренне) использует cgroups, который является сервисом ядра. Причина того, что ps Команда (на хосте) не будет отображать процессы, запущенные в контейнере, если контейнеры работают в разных cgroups которые изолированы друг от друга.

Вместо того, чтобы беспокоиться о памяти докера, вам нужно взглянуть на базовый хост (VM/ экземпляр), на котором вы запускаете контейнер докера. Количество контейнеров определяется рядом факторов, включая то, что ваше приложение работает на контейнере. Смотрите здесь ограничения, с которыми вы можете столкнуться. Существует ли максимальное количество контейнеров, работающих на хосте Docker?

Другие вопросы по тегам