Home > OS >  How to run multiple JVM params in docker-compose?
How to run multiple JVM params in docker-compose?

Time:02-17

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?

CodePudding user response:

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

CodePudding user response:

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
  • Related