In a recent presentation to a Dallas Meetup, Mike Arnold and Gary Paige shared some basic Docker information along with demonstrations of existing and upcoming projects we're working on in CenturyLink Labs.

On Thursday, March 19, 2015, we travelled up from Houston to Dallas to present to the Linux Containers & Virtualization Meetup. We were invited by Sunday Ogwu, the Meetup organizer, and spent a delightful couple of hours with him and several other folks talking about Docker, Panamax, and other CenturyLink Labs projects.

Our presentation started out with a discussion about the basics of Docker as it relates to architecting microservice applications. We demonstrated how to create and run Docker images and containers, but one of the things people found interesting was how Docker builds images by layering the file system. We thought it helped people understand this conceptually by seeing the layers with the Docker CLI history command. With this command you can see how any image was built simply by executing

docker history <image name>

Optionally passing the -q flag will display only the image ids, while passing the --no-trunc flag will display every bit of information available including the full instruction executed to create each layer.

Here’s what is shown when we execute that command on the image built with the Dockerfile we used in our demo.

image-history

Note that the first 7 lines are the instructions from the Dockerfile in reverse. So what then are the next 9 lines? Those are the instructions used to build the image from which our image was built and the image from which it was built and so on all the way down to the scratch image.

This image layer information drives one of the next projects we’ll be releasing aptly named ImageLayers. We gave a brief demo of the application to the Meetup attendees and it seemed to really drive home the understanding of how Docker builds up images with a layered filesystem and how you can take advantage of that by using base images.

Next in our presentation we demonstrated the use of Docker Compose as a way to automate the management of micro-service applications. Here at CenturyLink Labs, we are big fans of Compose and look forward to seeing what the Docker team delivers, especially in regards to Swarm integration. We took this opportunity to show off another project we are currently working on called Lorry which aims to simplify using Compose.

The last portion of our presentation focused on Panamax. Within Panamax, we use Dray to execute a workflow that creates a server cluster setup and installs the Panamax Remote Agent in environments like CenturyLink Cloud, AWS, or DigitalOcean. The last step in the workflow is the addition of the newly established cluster as a remote deployment target in Panamax. Subsequently, users can deploy applications working in their local Panamax installation straight to the cloud. It’s a thing of beauty, and if you haven’t experienced it yet, you should install Panamax and give it a try.

A heartfelt “Thank you” goes out to Sunday and all those who could attend the Dallas Linux Containers and Virtualization Meetup. We appreciate having been invited to present and look forward to seeing you all again soon.

Microservice Composition with Docker and Panamax from Michael Arnold