The dotCMS Docker examples are implemented using docker-compose (which is also compatible with Docker Swarm).
- However these examples can all be run in any Linux Docker compatible orchestrator.
- A complete multinode Kubernetes demo available.
- Each reference implementation comes with a
readmefile that provides instructions on how to properly start and clean up the examples.
For more information on the examples, please see the sections below.
The containers provided by dotCMS can be run in any Linux Docker compatible orchestrator. We have chosen to provide our reference implementation using docker-compose files, which can be used by Docker Swarm as well as by docker-compose.
There are several reasons for chosing this file format:
- The YAML file for docker-compose and Swarm is easy to understand, and is an effective way of communicating the needed configuration for services, volumes, and networks.
- This format makes it easy for simple POCs and for developers to use the entire stack locally on their development machines.
- It is easy to take the information from these examples to deploy these services in the orchestrator of your choice.
The following demo configurations are provided and maintained by dotCMS. To access the files, please click on the Demo Configuration name in the table below.
|Demo Configuration||Containers Included||Description and Notes|
|Clean Startup||dotCMS, Elasticsearch (Open Distro) and PostgresQL|
|Demo Data Startup||dotCMS, Elasticsearch (Open Distro) and PostgresQL|
|Scaleable Configuration||dotCMS, HAProxy, Elasticsearch (Open Distro), and PostgresQL|
|Full Stack||dotCMS, PostgresQL, Hazelcast and Elasticsearch|
You can find a complete multinode Kubernetes Demo available on Github. This example comes with scripts that will automatically spin up a three node Kubernetes cluster in Google Cloud Platform and deploy the entire dotCMS stack to the cluster.
While you may not be interested in the scripts for auto deployment, you should be able to use the deployment.yaml file without modification. You just need to provision Persistent volumes as seen in the prereq_template.yaml file.
The one other prerequisite that the
prereq_template.yaml file takes care of is setting up a DaemonSet to ensure that the host nodes are configured properly for the ElasticSearch containers.
Important Implementation Details
The Reference implementations make use of the following open-source technologies to implement and manage the images: