Я хочу запускать несколько контейнеров на одном хосте, предоставляя ограничения на CPU & Память. Если мой хост имеет 1024 cpu share &, я назначаю их как 512 & 512 в два контейнера, это означает, что первый контейнер может принимать до 1024, если второй контейнер не использует какой-либо процессор. Но если оба они используют cpu, то оба ограничены до 512.Расход памяти также динамический, как и процессор для контейнеров Docker
Это также верно для использования памяти? Или как-нибудь я могу это сделать? Вот сценарий: У меня есть 1024 Мб ОЗУ для контейнеров, и у меня есть два контейнера, я хочу, чтобы каждый из них занимал 512 Мб ОЗУ, но должен иметь возможность расширения до более чем 512, если другой контейнер его не использует. Как это возможно?
Означает ли это, что контейнер с пределом памяти 512 МБ может фактически потреблять 800 МБ в случае, если он доступен? – Himanshu
Если вы запустите 'docker run ... -m 512m ...' максимальный объем используемой памяти, то этот контейнер будет 512Mb, и если вы не укажете опцию '--memory-swap', это позволит вам используйте еще 512 Мбайт свопа (если ваша хост-система имеет своп). Запуск 'docker run ... -m 512m --memory-swap = 512m ...' позволит контейнеру использовать 512 Мб оперативной памяти и без дополнительной замены ... Но эти ограничения исправлены неважно, если хост-машина не работает и имеет свободные ресурсы. –