SlideShare a Scribd company logo
Deployment Automation
Egor Pushkin
egor@glympse.com
Platform Architect
Glympse, Inc.
Docker
is
AWESOME
Docker
is not intended to
solve
EVERYTHING
Problem
Source
Code
Build
Config
Environment
Dependencies
Runtime
Config
Compute Instance
Terminology
Docker
Registry
Docker
Image
Docker
Daemon
Docker Instance
Docker
Image
Docker
Container
*
*
1
1
1
*
Storage backend
Local volume, S3, etc.
Registry Instance
Docker
Client
Docker
Client
Installation
Docker
Daemon
Linux
Docker
Client
MacOS
Docker
Client
Docker
Daemon
VM running Linux
$DOCKER_HOST
Flow
Docker
Registrypush image_x
dev. box / Jenkins / CD
InstanceSource Code
Env / Deps
Configuration
Instance
pull image_x
Docker
Image
run image_x
1 2
3
Image Anatomy
Base Image
Updates
Dependencies
Application
Base Image
Updates
Dependencies
Application
Images
bootfs
Base Image
Image
Image
Image
r/o
r/o
r/o
r/o
r/o
App I/O
r/w
Container
Union file system
Union mount
Parent
Linux Containers (LXC)
OS Kernel
...
Container
Container
Container
Docker
daemon
Multi CPU/core box
cgroups
Resource isolation
â—Ź CPU
â—Ź memory
â—Ź disk I/O
Namespace isolation
â—Ź process tree
â—Ź network
â—Ź user ids
â—Ź mounted file systems
OS Kernel
Docker
...
Container
Container
Container
There is no virtualization involved when
software runs within containers.
(2007)
Docker Registry
Docker
Registry
Docker
Image
dev / test / staging / production
*1
Storage backend
Local volume, S3, etc.TCP-based API
REST API
REST API
Docker
Daemon
Jenkins/CD/
automation
software
Containers
Containers
Containers
Registry Options
Docker Hub
Docker
daemon
Public Images
Private Images
Private Registry
Private Cloud
default
Private Registry
Registry container
nginx container
Docker Hub Not secure / unauthenticated
pull registry
pull nginx
SSL
Basic Auth
InternetVPC
Docker Instance
S3 Bucket
Starting Registry
docker run
--restart=always
-e SETTINGS_FLAVOR=s3
-e AWS_BUCKET= registry.docker.enterprise.glympse.com
-e STORAGE_PATH= /storage
-e AWS_KEY= AKIA...
-e AWS_SECRET= OEJ0...
-e SEARCH_BACKEND=sqlalchemy
-p 5000:5000
-d
registry
Registry container
Docker Instance
S3 Bucket
docker pull registry
:5000
:5000
Detailed Flow
Image
build
Source Code
Registry
Image
Container
tag
push
pull
run
rm
rmi
start
Daemon
ps
images
...
stop
FROM ubuntu:14.04
# Install Python Setuptools
RUN apt-get install -y python-setuptools
# Install pip
RUN easy_install pip
# Bundle app source
COPY . /src
# Add and install Python modules
RUN pip install -r /src/requirements.txt
# Set default container command
ENTRYPOINT ["python"]
# Run the app
CMD ["/src/server.py"]
Dockerfile /project
requirements.txt
server.py
Dockerfile
/usr/user
/src
req-s.txt
server.py
ubuntu
python-setuptools
pip
requirements
Project source code
docker build -t image_x .
image_x
Image
Storage
<none>
IMAGE
CHARACTERISTICS
Deterministic
Independent
docker run ... image_x
/usr/user
/src
req-s.txt
server.py
ubuntu
...
<none>
<none>
<none>
Container r/w layer
Running
Container
Walkthrough
docker build -t IMAGE_NAME .
docker tag IMAGE_ID REGISTRY_URL:PORT/IMAGE_NAME:TAG
docker push REGISTRY_URL:PORT/IMAGE_NAME:TAG
docker pull REGISTRY_URL:PORT/IMAGE_NAME:TAG
docker run --restart=always -d -p HOST_PORT:CONTAINER_PORT IMAGE_NAME:TAG
Build image from source
Tag image appropriately
Push image to the registry
Pull image from the registry
Run container based on the image
Dev box
Jenkins
CD
Prod
Staging
Test
Container Configuration
Docker Instance
Container
Container portHost port
/src/dir
Host FS
Container FS
/opt/dir
Configure port mapping
docker run ... -p HOST_PORT:CONTAINER_PORT
docker run ... -v HOST_DIR:CONTAINER_DIR
Mount a host directory as a data volume
Instance
En Route Deployment Demo
Admin Console
web app
Backend App
api servers
LB
Instance
App
LB
Instance
Instance
...
DB
feature/ec2_demo
user name
user@email
Logout
Admin Console
ip:pid
API Servers
/any/thing
http://169.254.169.254/
latest/meta-data/public-ipv4
OM
{
...
box: {
ip: IP,
pid: PID
}
}
os.getPid()
Instance Template
Dockerized Application
App PORT ->
Instance PORT
Instance
Docker
daemon
Container
Configuration
environment
variables
Registry
pull image
aws ec2 run-instances ...
EC2Connection.run_instances(...
CloudFormationConnection.
create_stack(...
{
"Parameters" : { ... },
"Resources" : {
...
},
"Outputs" : { ... }
}
AWS CLI
AWS SDK
AWS SDK
CloudFormatio
n
Cluster Operations
Load Balancer
App Instance
App Instance
App Instance
App Instance
App Instance
api - tracking - engine
web - tracking - admin
type NS app
cluster_create
cluster_delete
cluster_details
cluster_launch_instance
cluster_terminate_instance
cluster_register_instance
cluster_deregister_instance
Cluster Structure
Clusters
Operations
https://github.com/Glympse/CommonTools/tree/master/Docker
Cluster management scripts can be found here
Next
â—Ź Orchestration
â—Ź SSL / Authentication
â—Ź Configuration (identity, networking)
â—Ź Monitoring (health checks)
â—Ź Continuous delivery

More Related Content

What's hot (20)

PDF
Automate App Container Delivery with CI/CD and DevOps
Daniel Oh
 
PDF
Dockerfile
Jeffrey Ellin
 
PPTX
Jenkins, pipeline and docker
AgileDenver
 
PPTX
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Docker, Inc.
 
PPTX
CI, CD with Docker, Jenkins and Tutum
Sreenivas Makam
 
PDF
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Marcel Birkner
 
PPTX
Baking docker using chef
Mukta Aphale
 
PPTX
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
dotCloud
 
PDF
Docker and DevOps --- new IT culture
Terry Chen
 
PDF
Continuous Integration using Docker & Jenkins
B1 Systems GmbH
 
PPTX
Learn docker in 90 minutes
Larry Cai
 
PPTX
Architecting .NET Applications for Docker and Container Based Deployments
Ben Hall
 
PPTX
Automating Dev Environment - Introduction to Docker and Chef
kamalikamj
 
PDF
Baking Docker Using Chef
Mukta Aphale
 
PDF
Docker in production: reality, not hype (OSCON 2015)
bridgetkromhout
 
PDF
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Edureka!
 
PPTX
7 Habits of Highly Effective Jenkins Users
Jules Pierre-Louis
 
PDF
From Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena Tapia
Docker, Inc.
 
PDF
DCSF19 Dockerfile Best Practices
Docker, Inc.
 
PDF
DockerCon SF 2015: Enabling Microservices @Orbitz
Docker, Inc.
 
Automate App Container Delivery with CI/CD and DevOps
Daniel Oh
 
Dockerfile
Jeffrey Ellin
 
Jenkins, pipeline and docker
AgileDenver
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Docker, Inc.
 
CI, CD with Docker, Jenkins and Tutum
Sreenivas Makam
 
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Marcel Birkner
 
Baking docker using chef
Mukta Aphale
 
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
dotCloud
 
Docker and DevOps --- new IT culture
Terry Chen
 
Continuous Integration using Docker & Jenkins
B1 Systems GmbH
 
Learn docker in 90 minutes
Larry Cai
 
Architecting .NET Applications for Docker and Container Based Deployments
Ben Hall
 
Automating Dev Environment - Introduction to Docker and Chef
kamalikamj
 
Baking Docker Using Chef
Mukta Aphale
 
Docker in production: reality, not hype (OSCON 2015)
bridgetkromhout
 
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Edureka!
 
7 Habits of Highly Effective Jenkins Users
Jules Pierre-Louis
 
From Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena Tapia
Docker, Inc.
 
DCSF19 Dockerfile Best Practices
Docker, Inc.
 
DockerCon SF 2015: Enabling Microservices @Orbitz
Docker, Inc.
 

Viewers also liked (20)

PDF
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
CloudBees
 
PDF
Jenkins + Docker = Continuous Improvement
Udaypal Aarkoti
 
PDF
Continuous Delivery with Jenkins Workflow
Udaypal Aarkoti
 
PDF
Joomla Continuous Delivery with Docker
Jirayut Nimsaeng
 
PDF
Glympse Platform
Egor Pushkin
 
PDF
Streamlining Agile Linux Development with Docker and RHEL Atomic
Michael Solberg
 
PPTX
Creating a continuous delivery pipeline with docker
containershipio
 
PDF
Glympse Client SDK Overview
Egor Pushkin
 
PDF
Building a Docker powered feature driven delivery pipeline at hoyhoy.nl
Xebia Nederland BV
 
PDF
Pluggable Infrastructure with CI/CD and Docker
Bob Killen
 
PDF
CI/CD Using Ansible and Jenkins for Infrastructure
Faisal Shaikh
 
PPTX
How Docker simplifies CI/CD
Gabriel N. Schenker
 
PPTX
Virtual Container - Docker
Venkata Naga Ravi
 
PPTX
Docker Internals - Twilio talk November 14th, 2013
Guillaume Charmes
 
PPTX
Introducing Docker Swarm - the orchestration tool by Docker
Ramit Surana
 
PDF
Automating the CI / CD pipeline of your containerized applications
Kontena, Inc.
 
PDF
Continuous Delivery Pipeline with Docker and Jenkins
Camilo Ribeiro
 
PPTX
Continous delivery at docker age
Adrien Blind
 
PDF
WebLogic im Docker Container
Andreas Koop
 
PPTX
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
Docker, Inc.
 
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
CloudBees
 
Jenkins + Docker = Continuous Improvement
Udaypal Aarkoti
 
Continuous Delivery with Jenkins Workflow
Udaypal Aarkoti
 
Joomla Continuous Delivery with Docker
Jirayut Nimsaeng
 
Glympse Platform
Egor Pushkin
 
Streamlining Agile Linux Development with Docker and RHEL Atomic
Michael Solberg
 
Creating a continuous delivery pipeline with docker
containershipio
 
Glympse Client SDK Overview
Egor Pushkin
 
Building a Docker powered feature driven delivery pipeline at hoyhoy.nl
Xebia Nederland BV
 
Pluggable Infrastructure with CI/CD and Docker
Bob Killen
 
CI/CD Using Ansible and Jenkins for Infrastructure
Faisal Shaikh
 
How Docker simplifies CI/CD
Gabriel N. Schenker
 
Virtual Container - Docker
Venkata Naga Ravi
 
Docker Internals - Twilio talk November 14th, 2013
Guillaume Charmes
 
Introducing Docker Swarm - the orchestration tool by Docker
Ramit Surana
 
Automating the CI / CD pipeline of your containerized applications
Kontena, Inc.
 
Continuous Delivery Pipeline with Docker and Jenkins
Camilo Ribeiro
 
Continous delivery at docker age
Adrien Blind
 
WebLogic im Docker Container
Andreas Koop
 
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
Docker, Inc.
 
Ad

Similar to Deployment Automation with Docker (20)

PDF
Docker 0.11 at MaxCDN meetup in Los Angeles
Jérôme Petazzoni
 
PDF
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
Erica Windisch
 
PPTX
Java developer intro to environment management with vagrant puppet and docker
Getting value from IoT, Integration and Data Analytics
 
PDF
[@NaukriEngineering] Docker 101
Naukri.com
 
PDF
Continuous Integration with Docker on AWS
Andrew Heifetz
 
PPTX
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Lucas Jellema
 
PPTX
Docker Starter Pack
Saeed Hajizade
 
PDF
Best Practices for Developing & Deploying Java Applications with Docker
Eric Smalling
 
PPTX
Docker & Daily DevOps
Satria Ady Pradana
 
PPTX
Docker and-daily-devops
Satria Ady Pradana
 
PPTX
Introduction to docker
Christophe Muller
 
PDF
Up and running with docker
Michelle Liu
 
PDF
Docker From Scratch
Giacomo Vacca
 
PDF
Docker in practice
Geert Pante
 
PPTX
Virtualization, Containers, Docker and scalable container management services
abhishek chawla
 
PDF
Présentation de Docker
Proto204
 
PPTX
Docker Basics
DuckDuckGo
 
PPTX
Docker and the Container Ecosystem
psconnolly
 
PDF
Introduction to Docker and Monitoring with InfluxData
InfluxData
 
PDF
Docker basic
Somenath Ghosh
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Jérôme Petazzoni
 
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
Erica Windisch
 
Java developer intro to environment management with vagrant puppet and docker
Getting value from IoT, Integration and Data Analytics
 
[@NaukriEngineering] Docker 101
Naukri.com
 
Continuous Integration with Docker on AWS
Andrew Heifetz
 
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Lucas Jellema
 
Docker Starter Pack
Saeed Hajizade
 
Best Practices for Developing & Deploying Java Applications with Docker
Eric Smalling
 
Docker & Daily DevOps
Satria Ady Pradana
 
Docker and-daily-devops
Satria Ady Pradana
 
Introduction to docker
Christophe Muller
 
Up and running with docker
Michelle Liu
 
Docker From Scratch
Giacomo Vacca
 
Docker in practice
Geert Pante
 
Virtualization, Containers, Docker and scalable container management services
abhishek chawla
 
Présentation de Docker
Proto204
 
Docker Basics
DuckDuckGo
 
Docker and the Container Ecosystem
psconnolly
 
Introduction to Docker and Monitoring with InfluxData
InfluxData
 
Docker basic
Somenath Ghosh
 
Ad

Recently uploaded (20)

PDF
introduction to computer hardware and sofeware
chauhanshraddha2007
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
PPTX
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
introduction to computer hardware and sofeware
chauhanshraddha2007
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 

Deployment Automation with Docker