で作業していない私はDockerfileの下に使用して、私のイメージを構築する:JAVA_OPTS/CATALINA_OPTSパラメータはドッキングウィンドウ-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"]
そして、私は指定されている私のドッキングウィンドウ-compose.yml中:
environment:
- CATALINA_OPTS=-Xmx256m -Xms128m
しかし、ドッカーの統計情報を使用してメモリの使用状況をチェックすると、ドッカーのコンテナは256mよりも多くのメモリを消費します。
しかし、私は(下記参照)を直接DockerfileにJVMパラメータを指定すると、ドッキングウィンドウ統計は、正しい番号を示しています。
FROM java:jre-alpine
WORKDIR /target
ADD /target/test.jar test.jar
RUN sh -c 'touch /test.jar'
ENTRYPOINT ["java","-Xmx512m","/target/test.jar"]
あなたは私にいくつかのヒントを与えるだろうか? Dockerfileに-Xmxパラメータをハードコードしたくありません。例えば
environment:
JAVA_OPTS: "-Ddatabase.url=xxx -Dsolr.url=xxx"
CATALINA_OPTS: "-Ddatabase.url=xxx -Dsolr.url="
ああ、あなた的環境名のキー部分の先頭にハイフンを必要としない - の代わりに、=は:
を環境変数を渡すためにあなたの構文が正しいです。 'docker-compose run yourservice env'を実行して、環境変数が期待どおりに設定されていることを確認できます。また、Javaイメージが廃止されているため、[openjdk](https://hub.docker.com/_/openjdk/)イメージへのアップグレードをお勧めします。あなたはまだ問題がある場合、私は問題がドッカーではなくJavaであると思います。 – BMitch