We currently publish a lot of different docker images for each snapshot, way too many in my opinion (currently 12, full, light etc, jre11, jre8), i.e. for 5.4.2.20
We did switch from jdk to jre with the last major round of updates, moving towards smaller images and at the same time, ensuring our latest docker images are more or less CVE free, which is great
But some people need jdk images for things like GitHub - softwareCobbler/luceedebug: line debugger for lucee to work, it is also of course possible to upgrade one of the existing published images to use a jdk with a bit of docker scripting magic
I think we should stop publishing java 8 images as java 8 is no longer officially supported by Lucee
That could eliminate 4 images, making the docker build quicker and saving over 1.2GB of storage, java 17 is on the horizon too, so life gets complicated fast ,see the problem?
That still leaves 8 images before we start publishing additional jdk images for 11 or 17
Which java release are people using with Docker?
- Java 8
- Java 11
We still have a lot of duplication of extensions on the file system too, which we want to look into, as per LDEV-4646 - reduce duplication of extensions on the file system
Another idea is to possibly swap out the far loader jar out once the the docker image is pre warmed, with just the light loader (sans extensions) which reduces each image by a further 60Mb
So for those using the official Lucee docker images, which image are you using?
- Lucee, Nginx and Tomcat
- Lucee and Tomcat
But I don’t think we need to be publishing 16 or 18 builds per snapshot, so assuming we don’t publish java 8 anymore, perhaps we only publish java 11 sans ngnix for snapshots?
I seem to recall both @markdrew and @dom_watson suggesting that best practise would be not bundling Ngnix, but I appreciate that the bundles just works™ for some people, but obviously if Nginx has a CVE, that’s problematic
And lastly, a big thanks to @justincarter for all his work in this area