Seamless Continuous Deployment
Using Docker Containers
Faiz Bashir
@faizbash
The Truly Modern Software
Developer
Credit: www.suse.com
Continuous Delivery
Is a software development
discipline where you build software
in such a way that the software
can be released to production at
any time.
Martin Fowler
Release Anti-Patterns
Deploying Software Manually
Release Anti-Patterns
Manual Configuration Management
of Production environments
Key Principle
Create a Repeatable, Reliable Process for
Releasing Software
docker containers
Getting Started
Docker Installation
https://docs.docker.com/engine/installation/
Docker Concepts
● Docker Image
● Docker Repository
● Docker Container
Docker Image
an inert, immutable, file that's essentially a
snapshot of a container
Building Your Docker Image
The Dockerfile
docker build image_name -t Dockerfile
Docker Image Commands
To view images: docker images
To pull images: docker pull image_name
To remove image: docker rmi image_name
Docker Repository
http://hub.docker.com
Push Your Image
docker push docker image_name
Docker Container
An instance of a docker image
Credit: blog.newrelic.com
Running a Container
docker run image_name:tag app_name
To view running containers:
docker ps
Stop a Container
docker stop container_id {container_name}
More topics
● Docker Networks
● Linking containers
● Docker Compose (yml)
● Orchestration
– Docker Swarm
– Kubernetes
● Cloud Computing
Thank You

Seamless Continuous Deployment Using Docker Containers