Как объявить пространство кучи в файле 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.

Другие вопросы по тегам