Как объявить пространство кучи в файле Docker для контейнера Docker, содержащего Java-приложение
Я использую файл jar в образе докера, в то время как мне нужно увеличить объем памяти JVM до 1 Гб, как я могу сделать это через файл докера.
Текущий файл Docker ниже прилагается.
FROM anapsix/alpine-java
MAINTAINER XXXXX
ENV JAVA_OPTS="-xmx1024m -xms1024m"
COPY file-send-jar-0.0.0.jar /home/file-send-jar-0.0.0.jar
CMD ["java","-jar","/home/file-send-jar-0.0.0.jar"]
1 ответ
Вы должны дать Java настройки XMX в CMD
Пример:
CMD["java","-Xmx1024m", "-Xms1024m","-jar","/home/file-send-jar-0.0.0.jar"]
Обратите внимание, что CMD
не делает подстановку переменных. Смотрите ссылку на файл Docker.
Примечание. В отличие от формы оболочки, форма exec не вызывает командную оболочку. Это означает, что обычная обработка оболочки не происходит. Например, CMD [ "echo", "$HOME" ] не будет выполнять подстановку переменных в $HOME. Если вы хотите обработать оболочку, то либо используйте форму оболочки, либо выполните оболочку напрямую, например: CMD [ "sh", "-c", "echo $HOME" ]. При использовании формы exec и непосредственном выполнении оболочки, как в случае с формой оболочки, именно оболочка выполняет расширение переменной среды, а не docker.