簡體   English   中英

在 docker-compose 文件中指定 JVM 選項

[英]Specifying JVM Options in docker-compose File

目前我正在嘗試將 JVM 選項傳遞給我的 docker-compose.yml 文件。 而“環境:”中的這個 JVM_OPTS 部分似乎不起作用。 是否有另一種方法可以將 JVM 選項傳遞給 docker-compose.yml 文件?

還有我的 DockerFile 圖像來自 openjdk:8-jre-alpine。

而我的 docker-compose.yml 文件是這樣的。

version: '3.1'
services:
  service:
    image: registry.gitlab.com/project/service/${BRANCH}:${TAG}
    container_name: serviceApp
    env_file: docker-compose.env
    environment:
      - JVM_OPTS=-XX:NativeMemoryTracking=summary
                 -XX:+StartAttachListener
                 -XX:+UseSerialGC
                 -Xss512k
                 -Dcom.sun.management.jmxremote.rmi.port=8088
                 -Dcom.sun.management.jmxremote=true
                 -Dcom.sun.management.jmxremote.port=8088
                 -Dcom.sun.management.jmxremote.ssl=false
                 -Dcom.sun.management.jmxremote.authenticate=false
                 -Dcom.sun.management.jmxremote.local.only=false
                 -Djava.rmi.server.hostname=localhost
    ports:
      - 8088:8088
    networks:
      - services
    working_dir: /opt/app
    command: ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/service.jar""]

networks:
  services:
    external:
      name: services

如果您詢問這些 arguments,我正在嘗試將 VisualVM 連接到本地 docker 容器。

將環境聲明從序列樣式切換到值映射樣式允許使用 YAML 多行字符串運算符“>”。 它將所有行合並為一行。

version: '3.1'
services:
  service:
    image: registry.gitlab.com/project/service/${BRANCH}:${TAG}
    container_name: serviceApp
    env_file: docker-compose.env
    environment:
      JVM_OPTS: >
        -XX:NativeMemoryTracking=summary
        -XX:+StartAttachListener
        -XX:+UseSerialGC
        -Xss512k
        -Dcom.sun.management.jmxremote.rmi.port=8088
        -Dcom.sun.management.jmxremote=true
        -Dcom.sun.management.jmxremote.port=8088
        -Dcom.sun.management.jmxremote.ssl=false
        -Dcom.sun.management.jmxremote.authenticate=false
        -Dcom.sun.management.jmxremote.local.only=false
        -Djava.rmi.server.hostname=localhost

    ports:
        - 8088:8088
    networks:
        - services
    working_dir: /opt/app
    command: ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/service.jar""]

networks:
  services:
    external:
    name: services

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM