To Docker Containers
Executive Summary
We are in a new technology age software is dramatically
changing. The era of off big packaged applications is shifting
to an era defined by vibrant open source projects and lots of
small, specialized applications. Driven first by the desire for a
more agile application development model, the ripple effect has
created a movement changing not only the technology but the
people and process that build it.
Docker has emerged as a key enabling technology for this
movement, from enabling DevOps methodologies to powering
some of the most innovative websites/companies/applications
in operation today. Popular amongst developers, Docker is
gaining in popularity beyond open source devotees to large
enterprises and even those beyond Linux.
This guide provides an introduction to the Docker technology,
containerization, ecosystem and the resulting shift from
monolithic to micro services architectures.
The idea behind micro services is that if one service fails, then
the whole application does not have to fail and the developer
can simply fix it, without affecting the other services that
make up the application. Modern websites like Gilt, LinkedIn,
Facebook and many others all use this type of architecture. Gilt,
an online flash sale retailer has an ecommerce site comprised of
roughly 400 applications. The code that serves up the pictures
on the product page and the search functionality are actually
separate applications. In the case of LinkedIn, if the upload
capability fails, the entire LinkedIN application doesnt go down
with it. The user simply gets the mes
sage LinkedIN Upload capability is temporarily unavailable
instead of having the entire application freeze or crash.
2000
Today
Monolithic
Loosely
Coupled
Services
Slow
Changing
Rapidly
Updated
Intended for readers new to Docker, this paper will discuss the
following topics:
Technology trends driving the change to distributed
applications
Overview of the Docker technology
Impact to the application delivery ecosystem
Key use cases and benefits
Many Small
Servers
Big Servers
Docker Basics
Before we dive into how the different components of the Docker
technology, architecture and how they work, below are the core
terminology and their definitions.
App 1
App 2
App 3
Bins/Libs
Bins/Libs
Bins/Libs
Dockerfile: This tells the image builder (i.e Jenkins) what the
image should look like.
Image: The basis of a Docker container at rest. These artifacts
are stored and managed in a registry. Once instantiated via a
Docker run command a container is created.
Container: The standard unit in which the application service
resides. At run, the image is turned into a container.
Docker Engine
Operating System
Infrastructure
UnderstandingWrDocker
Containers
iner
itable Conta
tainer
Writable Con
References
Parent Image
he Image
Add Apac
s Image
Add Emac
Debian
age
Base Im
bootfs
l
Kerne
App 1
App 2
App 3
Bins/Libs
Bins/Libs
Bins/Libs
Guest OS
Guest OS
Guest OS
- Gilt Groupe
Containers-As-A-Service
Booz Allen in partnership with the GSA, the largest
federal buying organization, used Docker to
transform their monolithic applications to in an agile
DevOps environment, using a containers as a service (CaaS)
methodology. Making the governments testing more agile.
www.docker.com