Blog

Luis Majano

May 23, 2017

Spread the word


Share your thoughts

We are very excited that the Portainer.io crew has added support for CommandBox and CommandBox docker image deployment. If you have not heard of Portainer, then let's start there first.

What is Portainer


Portainer is an open-source lightweight management UI for easily managing your docker host or a swarm cluster. It is available as a docker image or a standalone binary for any operating system. I was quite impressed with all the functionality out of the box with portainer, and the ease of use of the interface. It really made, for me, put all the questions I had about docker to rest thanks to finally visualizing them. I also found useful their live demo, which is great as well and got my appettite ready for delving into it.

Starting Portainer

To do a quick start for portainer just use the following commands:

docker run -d -p 9000:9000  \
   -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

This will run the docker container for portainer on port 9000 and it will manage the local Docker engine.

Please note that you can manage any docker endpoint or swarm cluster. Pelase refer to their documentation for further instructions: https://portainer.readthedocs.io/en/stable/deployment.html#quick-start

Application Templates

Portainer has the concept of quick application templates for easily deploying applications and trying them out. From here you can navigate their great collection and you will find our two docker images: CommandBox and ContentBox. We will use them to launch CFML applications with CommandBox or a full fledge CMS instance using ContentBox CMS. Below are the screenshots for each template so you can get started with ColdFusion (CFML) and ContentBox CMS with docker:

CommandBox Template

Using the CommandBox template you can fill out the following information:

  • The name of the container
  • The type of networking
  • Ownership in Portainer (Portainer supports multi-user access and runnable rights)
  • Port Mappings for HTTP and HTTPS
  • Volume Mapping for the running ColdFusion application

You can run the template as is and it will generate the sample ColdFusion page which is not very fancy. So we would encourage you to point it to a ColdFusion application so you can see your application being dockerized!

Please note that once the image spins up you can add more environment variables and further configuration settings by visiting the containers area.

ContentBox CMS Template

Using the ContentBox CMS template you can fill out the following information:

  • The name of the container
  • The type of networking
  • Ownership in Portainer (Portainer supports multi-user access and runnable rights)
  • Port Mappings for HTTP and HTTPS
  • Volume Mappings for the following:
    • The storage of the in-memory database (Express edition is the default in portainer)
    • The media location for assets

You can run the template as is and it will generate a new ContentBox CMS site with its very own in-memory H2 database and clustering capabilities. However, you will need to follow the installer and then remove it via environment variables so it does not recreate the image on each startup. Please refer to our docker image documentation for further information.

Please note that once the image spins up you can add more environment variables and further configuration settings by visiting the containers area.

What's Next!

In coming tutorials we will be demonstrating how to use Portainer to leverage a docker swarm with our images. From service creations, to on-the-fly modifications and much more. So stay tuned!

Add Your Comment

Recent Entries

Why BoxLang When You Have Kotlin, Groovy, Scala, and more…

Why BoxLang When You Have Kotlin, Groovy, Scala, and more…

As we approach a stable release of BoxLang and our continued marketing reaches more folks, many have asked about its purpose. Why create a new language when the JVM ecosystem already includes established languages like Kotlin, Groovy, and Scala, to name a few.

Luis Majano
Luis Majano
December 18, 2024
ColdBox Free Tip 6 - Using Routing with Wildcard Domains!

ColdBox Free Tip 6 - Using Routing with Wildcard Domains!

ColdBox gives you the flexibility to create domain-specific routes, making it perfect for multi-tenant applications or projects that need to respond differently based on the domain or subdomain being accessed. In this tip, we’ll dive into how to use the withDomain() method to create routes that match specific domains or sub-domains.

Maria Jose Herrera
Maria Jose Herrera
December 18, 2024