web-dev-qa-db-ja.com

Dockerコンテナ内でJavaヒープサイズ(Xms / Xmx)を設定するには?

この質問を提起する時点で、Dockerはネット上でこの質問に対する答えを持たないほど十分に新しいように見えます。私が見つけた唯一の場所は この記事 で、著者はそれが難しいと言っていますが、それだけです。

28
Tung Nguyen

使用しているコンテナに依存することに同意します。公式の Tomcat image を使用している場合、それは十分単純であるように見えるので、ヒープ設定でJava_OPTS環境変数を渡す必要があります。

docker run --rm -e Java_OPTS='-Xmx1g' Tomcat

JVMパラメーターの設定方法 を参照してください

33
jbarrueta

docker-compose.ymlファイル-二重引用符を省略する必要があります。

  environment:
  - JVM_OPTS=-Xmx12g -Xms12g -XX:MaxPermSize=1024m

または

  environment:
  - CATALINA_OPTS=-Xmx12g -Xms12g -XX:MaxPermSize=1024m
31
hawkeye

また、これらの設定を画像に配置して、Dockerfileに次のようなものが存在するようにすることもできます。

ENV Java_OPTS="-XX:PermSize=1024m -XX:MaxPermSize=512m"
13
occasl

それはすべて、Javaアプリケーションがどのようにパッケージ化されているか、その構成ファイルがDockerを使用してどのように公開されているかによって異なります。

たとえば、 公式Tomcatイメージ は、構成ファイルがデフォルトの場所/ usr/local/Tomcat/conf /で使用可能であることを示しています

ディレクトリ全体または1つの構成ファイルを簡単に上書きできます。

docker run -it --rm -p 8080:8080 -v $PWD/catalina.properties:/usr/local/Tomcat/conf/catalina.properties Tomcat:8.0
5
Mark O'Connor