Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to run multiple JVM params in docker-compose?

I got this list of JVM params from the following answer https://stackoverflow.com/a/35108974/7809534:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9010
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

And I would like to run them in docker-compose.

This is what I tried:

environment:
  - JAVA_TOOL_OPTIONS="-Dcom.sun.management.jmxremote"
  - JAVA_TOOL_OPTIONS="-Dcom.sun.management.jmxremote.port=9010"
  - JAVA_TOOL_OPTIONS="-Dcom.sun.management.jmxremote.local.only=false"
  - JAVA_TOOL_OPTIONS="-Dcom.sun.management.jmxremote.authenticate=false"
  - JAVA_TOOL_OPTIONS="-Dcom.sun.management.jmxremote.ssl=false"

But it is not working.

How can I do it?

like image 439
Jakov Avatar asked Sep 16 '25 00:09

Jakov


2 Answers

Eventually, I managed to find a solution.

Here it is:

environment:
    - JAVA_TOOL_OPTIONS=
        -Dcom.sun.management.jmxremote
        -Dcom.sun.management.jmxremote.port=9010
        -Dcom.sun.management.jmxremote.local.only=false
        -Dcom.sun.management.jmxremote.authenticate=false
        -Dcom.sun.management.jmxremote.ssl=false
like image 90
Jakov Avatar answered Sep 18 '25 18:09

Jakov


Use YAML multiline string operator '>' to merge the lines

environment:
  JAVA_TOOL_OPTIONS: >
    -Dcom.sun.management.jmxremote
    -Dcom.sun.management.jmxremote.port=9010
    -Dcom.sun.management.jmxremote.local.only=false
    -Dcom.sun.management.jmxremote.authenticate=false
    -Dcom.sun.management.jmxremote.ssl=false
like image 20
Rakesh Gupta Avatar answered Sep 18 '25 18:09

Rakesh Gupta