lucee/lucee4
Lucee 4.5 application engine running on Apache Tomcat 8 (JRE8).
10K+
Lucee application engine running on Apache Tomcat J2EE application server
Latest Docker images tagged as latest
on Docker Hub; specific versions of Lucee are tagged with the corresponding version number.
For latest:
FROM lucee/lucee4:latest
For a specific version:
FROM lucee/lucee4:4.5.1.024
Consider using the compound container with NGINX and Tomcat pre-installed and configured.
FROM lucee/lucee4-nginx:4.5.1.024
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.
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.
The default configuration has Tomcat listening on port 8080 in the container. However, Lucee server's Tomcat installation is on port 8888.
This base image exposes port 8080 to linked containers but its not used.You must publish or expose port 8888 if you wish to access Tomcat from your installation.
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:
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
Configuration folders:
Log folders:
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".
Persisting Logs
Stash your logs wherever you like, but these examples use the following directory, which we'll create as follows:
mkdir -p /var/log/lucee/tomcat
Either of the following examples should yield a Hello World page at http://192.168.99.100:8888/.
Docker Compose Option
Docker Compose file:
# docker-compose.yml
lucee50:
image: lucee/lucee4:latest
ports:
- "8888:8888"
volumes:
- /var/log/lucee:/opt/lucee/server/lucee-server/context/logs
- /var/log/lucee/tomcat:/usr/local/tomcat/logs
Running docker-compose
:
cd /path/to/dir/containing/docker-compose.yml
docker-compose up -d
Docker Run Option
Executing docker run
:
docker run -d \
-p 8888:8888 \
-v "/var/log/lucee:/opt/lucee/server/lucee-server/context/logs" \
-v "/var/log/lucee/tomcat:/usr/local/tomcat/logs" \
lucee/lucee4:latest
docker pull lucee/lucee4