Как видно из заголовка, я пытаюсь выделить больше памяти для своего контейнера. Я использую образ из docker-хаба под названием «aallam / tomcat-mysql», если это актуально.
Когда я запускаю его в обычном режиме без каких-либо специальных флагов, есть ограничение памяти в 2 ГБ (хотя я читал, что память неограничена, если не установлена)
Вот моя статистика докеров
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
ba57d6c9e9d2 0.22% 145.6 MiB / 1.952 GiB 7.29% 508 B / 508 B 0 B / 6.91 MB 68
Я пробовал явно настроить память, но с такими же результатами
docker run -d --memory=10g --memory-swap=-1 -e MYSQL_PASSWORD=password -p 3307:3306 -p 8081:8080 aallam/tomcat-mysql
Я читал, что, возможно, это ограничивает виртуальная машина. Но тогда почему статистика докеров показывает, что ограничение на размер контейнера составляет 2 ГБ?
Выделите максимальную память для вашей док-машины из (предпочтения докера -> заранее)
Снимок экрана дополнительных настроек:
Это установит максимальный лимит потребления докером при запуске контейнеров. Теперь запустите свой образ в новом контейнере с флагом -m = 4g для 4 гигабайт оперативной памяти или более. например
Не забудьте применить изменения увеличения предела подъема. Перезапустите докер и дважды проверьте, увеличился ли предел оперативной памяти. Это может быть одним из факторов, по которым вы не видите увеличения предела оперативной памяти в контейнерах докеров.
источник
Если вы хотите изменить контейнер по умолчанию и используете Virtualbox, вы можете сделать это через командную строку / CLI:
источник