I have a problem to understand new layout of files in JRE/JDK images for the containers use-cases.

Containers (Docker, Flatpak) have a notion of single inheritance, where an union FS merge the images of the container with parent containers. This give much smaller images of containers when most of the files are untouched and inherited from a common parent container.

The layout of JRE/JDK images, with one big file "/lib/modules" taking most of the size, seems to be completely anti-modular and particularly bad for fast redeployment. Isn't it more modular and space-efficient to have not a file "/lib/modules" but a directory "/lib/modules/" where all available files, like "0", "1", etc. would be loaded.

By example, an application suite can have a parent container with the Java standard library and common libraries of the application suite (creating a file "lib/modules/0" with the set of common modules). Each application would be a container inheriting common code from parent and with a file "lib/modules/1" with the own set of modules for the application.

Daniel.


Reply via email to