Newsletter:8/Making Docker more Versatile with Zenoss Control Center
Making Docker more Versatile with Zenoss Control Center
Zenoss has released our open source Control Center product which will change how you think about Docker, both in terms of deploying and monitoring the applications. In this article we’ll start with a simple ElasticSearch Dockerfile, explain how Control Center takes Docker to the limit, and create a Control Center service template. With your new template, and Control Center, you can leverage nearly unlimited power and control of your applications.
Docker uses Dockerfiles to configure a Docker instance. These are simple scripts that run on the first container startup to provision and configure services within the instance. Generally speaking you specify your base image, and then RUN some things that perform installation or configuration tasks. A source Dockerfile for our example can be found here: https://github.com/iancmcc/elasticsearch-ctrlctr/blob/master/Dockerfile
Adding Control Center Support
Control Center utilizes a simple JSON-formatted configuration file to understand what your docker instance does once it’s up and running. The Control Center configuration will specify parameters including basic metadata, configuration files to insert into the container, items that can be monitored for health, TCP/IP port bindings, file system permissions, and the Dockerfile/Docker image to run. Unlike the Dockerfile, JSON is verbose, so while I will not replicate the entire configuration file example in this article, it can be found here: https://github.com/iancmcc/elasticsearch-ctrlctr/blob/master/elasticsearch/service.json
How Control Center expands the Capabilities of Docker
Docker is pretty blunt about their view of a “slash-and-burn IT” future. Nothing will be permanent, everything will be demand-based and containerized. I think they’re mostly right, but some parts of your IT infrastructure will demand more. Control Center leverages Docker to provide clustering; a distributed storage layer; and deployment automatically, or on manually specified hosts. Instead of slash and burn, Control Center leverages Docker to provide simple orchestration of complex applications consisting of many different types of containers and built in remediation and health monitoring.
In the past 5 years or so, the Cloud has revolutionized not only how we think of the datacenter, but what the datacenter is. In the past 2 years, Docker has changed how we think about the Cloud. Now Control Center has changed how you should think about Docker.