A trick that people are doing when building Lucee containers is to start up the engine and stop it as part of the provisioner, so the layer gets cached with all the server and web context files created. Other things people are doing with Docker is auto-installing extensions needed by their app. Dropping them in the deploy folder though means the server needs to stay up for at least a minute during provisioning to ensure all extensions have been loaded from the deploy folder.
After some discussion on the CFML Slack I wanted to put in a ticket to see if there was anything Lucee could do to help create a formalized process for "warming" up a Lucee server. Perhaps we could add a JVM arg or something that Lucee would look for and complete some warm-up tasks before shutting down again.
Deploy server context files
Deploy web context files (can this happen without a web page being hit?)
Install all extensions in any deploy folders
Create any other necessary files/folders that are needed for Lucee to start up.
If an actual URL needs to be hit in order to deploy the web context, perhaps some additional parameters can be provided via JVM args to tell Lucee which web context needs started up.