The Docker image for Lucee 5.3.2.77 is now available;
https://hub.docker.com/r/lucee/lucee
The Lucee Docker images are now in a new lucee/lucee repository with a build process that generates a number of different tagged images from a matrix of the Lucee version, Tomcat Version, OpenJDK version and optional bundled NGINX and optional Alpine base image.
The same Tomcat base images are still used and the Lucee, Tomcat, and nginx configurations are all largely untouched, which means there shouldn’t be any significant issues moving from an older base image to a newer one in terms of modifications to your own Dockerfile as all the container paths remain the same.
Updating the base image in your own projects Dockerfile should simply involve changing the FROM instruction, for example Lucee 5.2 + NGINX to Lucee 5.3 + NGINX;
FROM lucee/lucee52-nginx:latest
to
FROM lucee/lucee:5.3-nginx
The default application stack for Lucee 5.3 is now Java 11 (OpenJDK 11) and Tomcat 9.0, since Java 8 is EOL. Depending on your applications use of Java this might be a simple upgrade, or you might need to temporarily revert to Java 8 while any issues are resolved. We do have jre8 tags for that ![]()
Read on below for the notes from the README about how the tags work…
Supported tags and respective Dockerfile links
Latest stable release (5.3)
Tomcat 9.0 with OpenJDK 11 (recommended)
-
5.3.2.77-tomcat9.0-jre11,5.3.2.77,5.3,latest(Dockerfile)-
5.3.2.77-nginx-tomcat9.0-jre11,5.3.2.77-nginx,5.3-nginx(Dockerfile.nginx)
-
Tomcat 9.0 with OpenJDK 8
-
5.3.2.77-tomcat9.0-jre8, (Dockerfile)-
5.3.2.77-nginx-tomcat9.0-jre8(Dockerfile.nginx) -
5.3.2.77-tomcat9.0-jre8-alpine, (Dockerfile) -
5.3.2.77-nginx-tomcat9.0-jre8-alpine(Dockerfile.nginx.alpine)
-
How the tags work
The Lucee Docker image tags follow a naming convention which is used to produce “simple tags” that are updated with each release (e.g. 5.3 , 5.3-nginx ) as well as “full tags” which allow for very specific version targeting (e.g. 5.3.2.77-tomcat9.0-jre11 ).
The tag naming convention is;
LUCEE_VERSION[-RELEASE_TYPE][-light][-nginx][-TOMCAT_VERSION-JRE_VERSION][-alpine]
-
LUCEE_VERSIONis the Lucee Version number string. For simple tags it may optionally be in theMAJOR.MINORformat (e.g.5.3) and for full tags it’s in theMAJOR.MINOR.PATCH.BUILDformat (e.g.5.3.2.77). Snapshot, RC and Beta builds always include the full version number. -
RELEASE_TYPEis the type of release; omitted for Releases, otherwiseSNAPSHOT,RCorBETA -
-light(optional) is a build with the Lucee “Light” JAR file, WITHOUT any extensions (users must install extensions separately, this includes database drivers, ORM, ESAPI, S3, image handling, etc) -
-nginx(optional) is a build with the NGINX web server bundled and configured -
-TOMCAT_VERSION-JRE_VERSIONis the Tomcat major and minor version and OpenJDK major version of the build to allow users to choose between different combinations (e.g.tomcat9.0-jre11vstomcat9.0-jre8). This is omitted for “simple tags” where the recommended Tomcat and OpenJDK versions are used. -
-alpine(optional) is a build using Alpine Linux as the base image. This results in a smaller Docker image which may be useful in some scenarios. NOTE: Alpine images currently supportjre8only,jre11/ Java 11 is not available. Alpine “simple tags” such as5.3-alpinewill be added in future builds
Legacy Lucee Docker image builds
The older Lucee Docker images will remain available in their existing Docker Hub repositories, though the build process for those images is considered “legacy” as they have been superseded by the new build matrix builds. The corresponding source is now in the legacy branch in GitHub;
Feedback
Please give the new Docker images a try and feel free to provide feedback here on the forum, or log a GitHub Issue if you have a specific problem that needs to be addressed.