Yas*_*shu 3 docker docker-compose
我使用以下Dockerfile构建映像:
FROM java:jre-alpine
WORKDIR /target
ADD /target/test.jar test.jar
RUN sh -c 'touch /test.jar'
ENTRYPOINT ["java","/target/test.jar"]
Run Code Online (Sandbox Code Playgroud)
在我的docker-compose.yml中,我指定了:
environment:
- CATALINA_OPTS=-Xmx256m -Xms128m
Run Code Online (Sandbox Code Playgroud)
但是,当我使用docker stats检查内存使用情况时,我的docker容器消耗的内存比256m多得多。
但是如果我直接在Dockerfile中指定JVM参数(请参阅下文),那么docker stats会显示正确的数字:
FROM java:jre-alpine
WORKDIR /target
ADD /target/test.jar test.jar
RUN sh -c 'touch /test.jar'
ENTRYPOINT ["java","-Xmx512m","/target/test.jar"]
Run Code Online (Sandbox Code Playgroud)
你能给我一些提示吗?我不想在Dockerfile中对-Xmx参数进行硬编码。
我最终像这样:
构建映像时,我在Dockerfile中指定:
ENTRYPOINT exec java $JAVA_OPTS -jar /target/test.jar
然后在docker-compose.yml中,指定:
environment:
- JAVA_OPTS=-Xmx128m -Xms128m
| 归档时间: |
|
| 查看次数: |
10879 次 |
| 最近记录: |