Lucee on Tomcat (JAR deployment)
Java optisation tweaks
Lucee 4's Java Agent is enabled for better memory management of compiled CFML code.
JVM is set to use /dev/urandom as an entropy source for secure random numbers to avoid blocking Tomcat on startup.
Tomcat is configured to skip the default scanning of Jar files on startup, significantly improving startup time.
Optimised for single-site application
The default configuration serves a single application for any hostname on the listening port. Multiple applications can be supported by editing the server.xml in the Tomcat config.
The default session type in Lucee is "cfml". This often causes issues for Lucee servers running in Docker containers. If you use CFML sessions you should set the session type to "j2ee" in a Lucee configuration file or Application.cfc.
Using this image
Accessing the service
The default configuration has Tomcat listening on port 8080 in the container.
This image exposes port 8080 to linked containers, however you must publish the ports if you wish to access them from the Docker host.
Accessing the Web admin
The Lucee admin URL is
/lucee/admin/ from the exposed port. No admin passwords are set.
THIS IS NOT A SECURE CONFIGURATION FOR PRODUCTION ENVIRONMENTS! It is strongly recommended that you secure the container by:
- Changing the server password
- Using IP or URL filtering to restrict access to the Lucee web admin
- Following recommended security practices such as the Lucee Lockdown Guide
Sample CFML page
The default webroot contains a simple "Hello world" index.cfm file which dumps the CFML server scope. This can be replaced with your own CFML code and assets in derived images.
Web root for default site: /var/www
- Tomcat config: /usr/local/tomcat/conf
- Lucee config for default site: /opt/lucee/web
- Lucee server context: /opt/lucee/server/lucee-server/context
- Tomcat logs: /usr/local/tomcat/logs
- Lucee logs for default site: /opt/lucee/web/logs
The default image contains scripts that use the following environment variables if they are set in the container.
LUCEE_JAVA_OPTS: Additional JVM parameters for Tomcat. Used by /usr/local/tomcat/bin/setenv.sh. Default: "-Xms256m -Xmx512m -XX:MaxPermSize=128m".