How to set heap size for wildfly inside Docker container? How to set heap size for wildfly inside Docker container? docker docker

How to set heap size for wildfly inside Docker container?


When using docker-compose set environment variable as follows!

environment:  - JAVA_OPTS=-server -Xms512m -Xmx2048m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -XX:+UseAdaptiveSizePolicy -XX:MaxMetaspaceSize=1024m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true-Djava.net.preferIPv4Stack=true

do not use " (quotes)!


You can pass the value of the JAVA_OPTS environment variable in the command used to run the docker container:

docker run -it --env JAVA_OPTS="-server -Xms2048m -Xmx6144m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true" jboss/wildfly

Alternatively, you can extend the standard image by creating a Dockerfile containing:

FROM jboss/wildfly:latestCOPY standalone.conf $JBOSS_HOME/bin/

and placing your modified standalone.conf in the directory next to it.

Then you can build it:

docker build -t my/wildfly:latest .

and run it:

docker run my/wildfly


I suggest you to use JAVA_TOOL_OPTIONS rather than JAVA_OPTS .Because JVM directly understand JAVA_TOOL_OPTIONS.