Search code examples
dockerdockerfilecontainersproduction-environmentjava-11

How to set memory limit for Java 11 inside Docker?


What is the process to set memory limit for Java 11 inside Docker?

Which JDK to use for production environment?

Thanks


Solution

    1. As java 11 (10+) can automatically detect the container's memory you can set memory limit on your container and it should WAI:
    docker run -m 512 .... 
    
    1. As for the choice of JDK, you can either use oracle JDK which is licensed or open source OpenJDK.

    More details in this article: https://www.docker.com/blog/improved-docker-container-integration-with-java-10/