Java Magazine, July/August 2015
Managing Lightweight Containers with Docker Puppet and Vagrant How to build use and orchestrate Docker containers in DevOps MICHAEL HÜTTERMANN ORACLE COM JAVAMAGAZINE JULY AUGUST 2015 28 In this article I introduce Docker the lightweight virtualization containers that have become increasingly popular in continuous delivery CD and DevOps pipelines Ill explain how to integrate Docker with the infrastructure definition tool Puppet build Puppet enabled Docker images and create containers that leverage your Puppet modules Ill integrate the tool chain with Vagrant and further streamline the CD platform After reading this article you will know how to use these tools to improve your development and delivery processes What Is Docker Docker is an open source framework that automates deployment and provisioning and simplifies distribution of applications in lightweight and portable containers These containers can then be run in a wide variety of places including on your laptop in the cloud or on a virtual machine VM Docker containers are created from Docker images which in turn are built from Dockerfiles Docker images are layered and you can easily create new images based on other images Docker images are stored in Docker registries Docker helps in the following ways to improve CD and DevOps implementations Enabling productive workspaces You can create multiple repeatable containers for testing on your local machine providing for distribution and sharing with your team Improving the integration flow A continuous integration pipeline can be streamlined through the use of Dockerized build slaves Fostering delivery pipelines For dynamic repeatable integration to delivery pipelines you can create Docker images for middleware as part of your pipeline and orchestrate them with freshly built business applications Limiting variation Infrastructure and business logic can both be included in the Docker container Due to this converged isolation Java ubiquity becomes even more real because you can just ship the Java runtime middleware and configurations not just the standard deployment unit typically JAR WAR and EAR files Improving the mean time to repair restore MTTR Docker containers become visual in the pipeline This increased visibility can help an organization isolate discover and determine proper ownership faster Integration with many tools such as Jenkins and Maven and enterprise repository managers such as JFrogs Artifactory Containers Versus VMs Traditional VMs are a great way to reduce physical hardware overhead Nowadays it is rarely necessary to set up physical hardware at the start of a project It is pretty much standard to just scale out dynamically and to add further resources in the form of more VMs But VMs are considered to have a pretty big BIO Vagrant is a free tool for dynamically provisioning and managing VMs DevOps
You must have JavaScript enabled to view digital editions.