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