Pete Freitag Pete Freitag

Minibox - a tiny commandbox docker image

Updated: November 16, 2020

I have published a new project called minibox - it is a tiny docker image meant for running commandbox.

Testing it out

If you have docker installed you can simply run the following command:

docker run -it foundeo/minibox box version
Photo credit: sonnie hiles unsplash

This will run box version inside the container and output the version number of commandbox.

Making it small

This image is running on Alpine Linux with the Azul Zulu JVM, and the total size of the container is 78mb. There is room to trim this down a bit further, but the jvm itself takes up around 44mb, so it would be hard to get it significantly smaller.

Why is this useful?

The reason I built this was so that I could have a really small container to run in Continuous Integration builds. Where every second of build time is metered, you really don't want to spend a lot of time downloading large containers. From CI, I primarily use it for scanning CFML code for security issues in CI with Fixinator.

Usage with Fixinator

I built another image from minibox called: foundeo/fixinator. This container has the fixinator client installed on it (which runs on top of commandbox).

If your CI server lets you specify a docker container to run a build step from this makes a great choice for that. You can also just run it directly from the command line like this:

 docker run -it -v /local/folder:/code -e FIXINATOR_API_KEY=$FIXINATOR_API_KEY  foundeo/fixinator:latest box fixinator path=/code

Here it is a bit more complicated of a docker command because we are mapping a volume so that we can scan our code in the container. We are also passing in the FIXINATOR_API_KEY environment variables.

Can I run a CFML server from this container?

It was not really designed for running a CFML server from docker, though you certainly could and it would work. The Ortus Docker containers have a lot more tooling in them that make it generally more suited for that purpose.

Like this? Follow me ↯

Minibox - a tiny commandbox docker image was first published on April 16, 2020.

FuseGuard Web App Firewall for ColdFusion

The FuseGuard Web Application Firewall for ColdFusion & CFML is a high performance, customizable engine that blocks various attacks against your ColdFusion applications.

Post a Comment