#docker #dockerfile #containers #production-environment #java-11
#docker #dockerfile #контейнеры #производственная среда #java-11
Вопрос:
Каков процесс установки ограничения памяти для Java 11 внутри Docker?
Какой JDK использовать для производственной среды?
Спасибо
Ответ №1:
- Поскольку java 11 (10 ) может автоматически определять память контейнера, вы можете установить ограничение памяти для вашего контейнера, и оно должно быть:
docker run -m 512 ....
- Что касается выбора JDK, вы можете использовать либо лицензированный oracle JDK, либо OpenJDK с открытым исходным кодом.
Подробнее в этой статье: https://www.docker.com/blog/improved-docker-container-integration-with-java-10 /
Комментарии:
1. спасибо за ваше предложение, я хотел бы знать, как java 11 (10 ) может автоматически определять память контейнера? Спасибо
2. В принципе, любая программа может запрашивать группы, в которых они работают, и определять, какой у нее лимит памяти. Обычно он монтируется под:
/sys/fs/cgroup
. дополнительная информацияman 7 cgroups
Ответ №2:
Вы можете установить максимальный размер кучи, используя -Xmx
опцию hotspot JVM (см. Параметры java 11)
Вы можете использовать AdoptOpenJDK для производства, поскольку они обновляются.