JAVA_OPTS / CATALINA_OPTS参数不与docker-compose.yml一起使用

时间:2016-09-01 13:14:12

标签: docker docker-compose

我使用Dockerfile下面构建我的图像:

Unable to upload the specified file. Please check your path.

在我的docker-compose.yml中,我指定了:

FROM java:jre-alpine
WORKDIR /target
ADD /target/test.jar test.jar
RUN sh -c 'touch /test.jar'
ENTRYPOINT ["java","/target/test.jar"]

但是当我使用docker stats检查内存使用情况时,我的docker容器消耗的内存比256m多得多。

但是如果我直接在Dockerfile中指定JVM参数(见下文),那么docker stats会显示正确的数字:

environment:
    - CATALINA_OPTS=-Xmx256m -Xms128m
你可以给我一些提示吗?我不想在Dockerfile中硬编码-Xmx参数。

2 个答案:

答案 0 :(得分:4)

我这样结束了:

  • 当我构建图像时,我在Dockerfile中指定:

    ENTRYPOINT exec java $JAVA_OPTS -jar /target/test.jar

  • 然后在docker-compose.yml中,我指定:

environment: - JAVA_OPTS=-Xmx128m -Xms128m

答案 1 :(得分:-1)

我遇到了你需要使用的:而不是= -

例如

environment:
     JAVA_OPTS: "-Ddatabase.url=xxx -Dsolr.url=xxx"
     CATALINA_OPTS: "-Ddatabase.url=xxx -Dsolr.url="

哦,你不需要在环境名称的关键部分开头使用连字符