JAVA_OPTS/CATALINA_OPTS Parameter, die nicht die Arbeit mit docker-Komponieren.yml
Baue ich mein Bild mit unten Dockerfile:
FROM java:jre-alpine
WORKDIR /target
ADD /target/test.jar test.jar
RUN sh -c 'touch /test.jar'
ENTRYPOINT ["java","/target/test.jar"]
Und in meiner docker-Komponieren.yml habe ich angegeben:
environment:
- CATALINA_OPTS=-Xmx256m -Xms128m
Aber wenn ich das Andockfenster Statistiken überprüfen Sie die Speicher-Nutzung, meine docker-container verbraucht viel mehr Speicher als 256m.
ABER Wenn ich geben Sie die JVM-parameter im Dockerfile direkt(siehe unten), dann docker stats zeigt die korrekte Anzahl:
FROM java:jre-alpine
WORKDIR /target
ADD /target/test.jar test.jar
RUN sh -c 'touch /test.jar'
ENTRYPOINT ["java","-Xmx512m","/target/test.jar"]
Könnten Sie mir einige Hinweise? Ich will nicht zu fest die parameter-Xmx in Dockerfile.
- Ihre syntax für die übergabe einer Umgebungsvariable korrekt ist. Sie können laufen
docker-compose run yourservice env
überprüfen Sie die Umgebungsvariablen gesetzt sind als erwartet. Ich würde auch empfehlen ein Upgrade auf die openjdk Bild, da das java-Bild ist veraltet. Wenn Sie immer noch Probleme haben, ich erwarte, dass das problem ist java eher als Andockfenster.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich endete wie folgt:
Wenn ich Baue das Bild, ich geben Sie in das Dockerfile:
ENTRYPOINT exec java $JAVA_OPTS -jar /target/test.jar
Klicken und dann im Andockfenster-Komponieren.yml, ich angeben:
environment:
- JAVA_OPTS=-Xmx128m -Xms128m
Lief ich in diese müssen Sie verwenden : anstelle von =-
Beispielsweise
Oh, und Sie brauchen nicht, den Bindestrich zu Beginn der wichtigste Teil der Umwelt-Namen
=
aufgrund der syntax für die übergabe Einschränkungen.