SlideShare a Scribd company logo
Introduction to 
Jirayut Nimsaeng (Dear) 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
About me 
● Jirayut Nimsaeng (Dear) 
● Infrastructure Team Lead 
at Proteus Technologies 
● Scrum Master 
● Interested in Cloud and 
Open Source Technology
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Experienced? 
● Use Vagrant 
● Read and tried Docker online tutorial 
● Install and run Docker locally 
● Build Docker images 
● Push Docker images to Docker Hub 
● Written Dockerfile 
● Deploy Docker images for dev/test/prod
Developer Problems 
Developer Local Test QA 
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Production
What Developer needs 
Production-like Quick Repeatable 
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014
Docker can solve this problem 
Developer Local Test QA 
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Production
Infrastructure Problems 
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014
Shipping with container 
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Docker can 
● Deploy (almost) everything
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Docker can 
● Deploy (almost) everywhere 
Native On VMs
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Docker can 
● Deploy reliably & consistently 
● Everything will be exactly the same 
– Distros 
– Versions 
– Dependencies 
● If it works locally, it will work everywhere
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
In summary
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Docker can 
● Deploy efficiently 
– Laptop can run 10-100 containers easily 
– Server can run 10-1000 containers 
● Containers can run at native speeds 
– http://www.slideshare.net/BodenRussell/kvm-and-docker- 
lxc-benchmarking-with-openstack
Docker CPU benchmark 
Docker / KVM: Compute Node Steady-State CPU (Segment Overlay) 
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
14 
12 
10 
8 
6 
4 
2 
0 
docker-usr 
docker-sys 
kvm-usr 
kvm-sys 
Time: KVM(95s - 307s) Docker(31s – 243s) 
CPU Usage In Percent 
Docker Averages 
– 0.2 
– 0.03 
KVM Averages 
– 1.91 
– 0.36
Docker Memory benchmark 
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
7.00E+09 
6.00E+09 
5.00E+09 
4.00E+09 
3.00E+09 
2.00E+09 
1.00E+09 
0.00E+00 
Docker / KVM: Compute Node Used Memory (Overlay) 
kvm 
docker 
Axis Title 
Memory Used
Docker Memory benchmark 
MEMCPY DUMB MCBLOCK 
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
14000 
12000 
10000 
8000 
6000 
4000 
2000 
0 
3823.3 
4393.3 
12881.61 
3813.38 
4395.92 
12905.68 
3428.95 3461.59 
7223.23 
Memory Benchmark Performance 
Bare Metal (MiB/s) 
docker (MiB/s) 
KVM (MiB/s) 
Memory Test 
MiB/s
Docker I/O benchmark 
Sysbench Synchronous File I/O Random Read/Write @ R/W Ratio of 1.50 
1 2 4 8 16 32 64 
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
1600 
1400 
1200 
1000 
800 
600 
400 
200 
0 
docker 
KVM 
Threads 
Total Transferred In Kb/sec
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
What is Docker? 
● Platform to help code, test and deploy 
applications 
● Combine with 
– Lightweight container virtualization 
– Work flows 
– Tooling
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Docker image 
● Docker images are read-only templates 
● Each image consists of series of layers 
● Docker use union file system to combine layers 
into single image 
● Every image starts from base image
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Docker image layers
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Docker container 
● Docker containers launched from Docker image 
● Container consists of 
– Operating system 
– User-added files 
– Meta-data 
● When Docker container runs, it adds a read-write 
layer on top of the image
Containers vs. VMs 
App 
A2 
Hypervisor 
Host OS 
App 
B1 
Jirayut Nimsaeng 
Containers are isolated, 
but share OS and, where 
appropriate, bins/libraries 
Bins/Libs Bins/Libs 
Host OS 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Server 
App 
A1 
Guest 
OS 
Guest 
OS 
Guest 
OS 
Bins/ 
Libs 
Bins/ 
Libs 
Bins/ 
Libs 
VM 
Server 
App A1 
App A2 
App B1 
App B2 
App B3 
Docker daemon 
Container
Containers more lightweight 
VMs Containers 
App 
B1 
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
App 
A1 
Guest 
OS 
App 
A2 
Guest 
OS 
Guest 
OS 
Bins/ 
Libs 
Bins/ 
Libs 
Bins/ 
Libs 
App 
A1 
App 
A2 
Δ 
App A1 App A2 Modified 
App 
Bins/ 
Libs 
Base
Docker container concept 
App D2 
App E Prod 
App B 
MySQL 
PHP 
App E Demo 
Python AAppaacchhee 
Host OS (CoreOS) 
App D1 
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Kernel 
Docker driver, aufs/btrfs 
App A1 
App A2 
App B Demo 
App B Prod 
MySQL 
PHP 
Ubuntu base Bins/Libs 
Docker daemon 
Busybox base bins/libs 
Python Apache 
Data Container for App A1 
App B 
CentOS base Bins/Libs 
Data Container for App A2 
Data Container for App B Prod 
Data Container for App C 
App C 
App F 
Docker Base Image Docker Image Docker Container
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Dockerfile 
● Dockerfile is instructions to build Docker image 
– How to run commands 
– Add files or directories 
– Create environment variables 
– What process to run when launching container 
● When build Dockerfile, new Docker image will 
return as a result 
● Or we can call result from building Dockerfile is 
new base Docker image
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Sample Dockerfile 
FROM base 
MAINTAINER Jirayut Nimsaeng <w [at] winginfotech.net> 
ADD build-files /build-files 
RUN apt-get update 
RUN apt-get install -y openssh-server vim tmux rsync byobu 
RUN mkdir /var/run/sshd 
RUN sed -i 's/required pam_loginuid.so/optional 
pam_loginuid.so/g' /etc/pam.d/sshd 
CMD /start.sh 
EXPOSE 22
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Docker Registry 
● Docker Registry is the store for Docker image 
● Docker Hub is public Docker Registry like Github 
● Using Docker client to push and pull Docker image 
from Docker Registry 
● You can create your own Docker Registry
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Docker Hub
Commit Change 
Jirayut Nimsaeng 
App A2 Container 
App A App A Image 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Docker life cycle 
App A 
Docker Container 
Docker 
Registry 
Commit Push 
Host 
App A1 Container 
Pull 
Docker Engine 
Ubuntu 
Base Docker 
Apache 
Docker Container 
Apache 
Bins/Libs 
Apache + PHP 
Docker Image 
Bins/Libs 
Apache 
App A 
ΔΔ 
Change 
App A 
Apache 
Bins/Libs 
App A 
Docker image
App A Image App A 
Docker Engine 
Jirayut Nimsaeng 
Image App A 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Docker workflows 
Dockerfile 
For App A 
Host 1 (Dev/Build Server) 
Docker 
Registry 
Host 2 (Container Server) 
1.Build 
2.Push 
3.Pull 
4.Run 
Docker Engine 
Container App A Production
2022 2035 
2035 
Jirayut Nimsaeng 
80 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Docker Use Cases 
● Docker as Development Environment 
Host 
Virtualbox VM 
22 
SSH Docker Daemon 
Web Server 
boot2docker-vm 
80 1024+ 
Docker Containers 
Database 
Host-only 
80
Bins/Libs Bins/Libs 
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Docker Use Cases 
● Docker as Infrastructure as a Service 
Host OS 
Server 
App A 
App A~ 
App B 
App B~ 
App B~~ 
Docker daemon
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Docker Use Cases 
● Docker as Platform as a Service
Jirayut Nimsaeng 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
Docker Use Cases 
● Docker for Continuous Delivery
Continuous Delivery with Docker 
Repository 
Server 
5.Get Wordpress Code 
Jirayut Nimsaeng 
MySQL Data Image 
Docker for DevOps and Continuous Delivery Workshop 
October 11, 2014 @ OSS Festival 2014 
MySQL 
Dockerfile 
Data MySQL Data Image 
Docker Engine 
Host 1 (Dev/Build Server) 
Docker 
Registry 
Host 2 (Container Server) 
1.Build 
3.Push 
7.Pull 
8.Run 
Docker Engine 
Container MySQL Data 
Backup 
Server 
2.Get DB Backup 
Wordpress 
4.Build Dockerfile 
Wordpress Image 
6.Push 
Wordpress Image 
Container Wordpress
Ad

More Related Content

What's hot (20)

Azure kubernetes service
Azure kubernetes serviceAzure kubernetes service
Azure kubernetes service
Vishwas N
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
Simplilearn
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
Ajeet Singh Raina
 
Docker
DockerDocker
Docker
A.K.M. Ahsrafuzzaman
 
Kubernetes 101 for Beginners
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for Beginners
Oktay Esgul
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShift
Serhat Dirik
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Peng Xiao
 
Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0
Docker, Inc.
 
Istio : Service Mesh
Istio : Service MeshIstio : Service Mesh
Istio : Service Mesh
Knoldus Inc.
 
DevOps! What, Why and How?
DevOps! What, Why and How?DevOps! What, Why and How?
DevOps! What, Why and How?
Omar Fathy
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
Instruqt
 
What is Docker
What is DockerWhat is Docker
What is Docker
Pavel Klimiankou
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
Patrick Chanezon
 
Docker introduction for the beginners
Docker introduction for the beginnersDocker introduction for the beginners
Docker introduction for the beginners
Juneyoung Oh
 
Lets talk about: Azure Kubernetes Service (AKS)
Lets talk about: Azure Kubernetes Service (AKS)Lets talk about: Azure Kubernetes Service (AKS)
Lets talk about: Azure Kubernetes Service (AKS)
Pedro Sousa
 
EKS vs GKE vs AKS - Evaluating Kubernetes in the Cloud
EKS vs GKE vs AKS - Evaluating Kubernetes in the CloudEKS vs GKE vs AKS - Evaluating Kubernetes in the Cloud
EKS vs GKE vs AKS - Evaluating Kubernetes in the Cloud
DevOps.com
 
Dockers and containers basics
Dockers and containers basicsDockers and containers basics
Dockers and containers basics
Sourabh Saxena
 
devops
devops devops
devops
Somkiat Puisungnoen
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
Docker, Inc.
 
Microsoft Windows Server 2022 Overview
Microsoft Windows Server 2022 OverviewMicrosoft Windows Server 2022 Overview
Microsoft Windows Server 2022 Overview
David J Rosenthal
 
Azure kubernetes service
Azure kubernetes serviceAzure kubernetes service
Azure kubernetes service
Vishwas N
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
Simplilearn
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
Ajeet Singh Raina
 
Kubernetes 101 for Beginners
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for Beginners
Oktay Esgul
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShift
Serhat Dirik
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Peng Xiao
 
Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0
Docker, Inc.
 
Istio : Service Mesh
Istio : Service MeshIstio : Service Mesh
Istio : Service Mesh
Knoldus Inc.
 
DevOps! What, Why and How?
DevOps! What, Why and How?DevOps! What, Why and How?
DevOps! What, Why and How?
Omar Fathy
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
Instruqt
 
Docker introduction for the beginners
Docker introduction for the beginnersDocker introduction for the beginners
Docker introduction for the beginners
Juneyoung Oh
 
Lets talk about: Azure Kubernetes Service (AKS)
Lets talk about: Azure Kubernetes Service (AKS)Lets talk about: Azure Kubernetes Service (AKS)
Lets talk about: Azure Kubernetes Service (AKS)
Pedro Sousa
 
EKS vs GKE vs AKS - Evaluating Kubernetes in the Cloud
EKS vs GKE vs AKS - Evaluating Kubernetes in the CloudEKS vs GKE vs AKS - Evaluating Kubernetes in the Cloud
EKS vs GKE vs AKS - Evaluating Kubernetes in the Cloud
DevOps.com
 
Dockers and containers basics
Dockers and containers basicsDockers and containers basics
Dockers and containers basics
Sourabh Saxena
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
Docker, Inc.
 
Microsoft Windows Server 2022 Overview
Microsoft Windows Server 2022 OverviewMicrosoft Windows Server 2022 Overview
Microsoft Windows Server 2022 Overview
David J Rosenthal
 

Viewers also liked (7)

Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker
Eduardo Castro
 
Seminario: Docker y su Ecosistema
Seminario: Docker y su EcosistemaSeminario: Docker y su Ecosistema
Seminario: Docker y su Ecosistema
Germán Moltó
 
Comenzando con Docker en AWS
Comenzando con Docker en AWSComenzando con Docker en AWS
Comenzando con Docker en AWS
Amazon Web Services LATAM
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
Open Canarias
 
Contenedores como Servicio con Docker
Contenedores como Servicio con DockerContenedores como Servicio con Docker
Contenedores como Servicio con Docker
Fernando Mayo Fernández
 
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
E. Camden Fisher
 
Dockerfile
Dockerfile Dockerfile
Dockerfile
Jeffrey Ellin
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker
Eduardo Castro
 
Seminario: Docker y su Ecosistema
Seminario: Docker y su EcosistemaSeminario: Docker y su Ecosistema
Seminario: Docker y su Ecosistema
Germán Moltó
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
Open Canarias
 
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
E. Camden Fisher
 
Ad

Similar to Introduction to Docker (20)

Joomla Continuous Delivery with Docker
Joomla Continuous Delivery with DockerJoomla Continuous Delivery with Docker
Joomla Continuous Delivery with Docker
Jirayut Nimsaeng
 
Docker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopDocker Continuous Delivery Workshop
Docker Continuous Delivery Workshop
Jirayut Nimsaeng
 
Docker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshDocker based-Pipelines with Codefresh
Docker based-Pipelines with Codefresh
Codefresh
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
Ryan Hodgin
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
dotCloud
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on Openstack
Docker, Inc.
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019
Stefan Scherer
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
DevOps.com
 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualization
Suresh Balla
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
Ajeet Singh Raina
 
Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with docker
Vishwas N
 
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
devopsdaysaustin
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
Liang Bo
 
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornJDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
PROIDEA
 
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
Puppet
 
Docker workshop
Docker workshopDocker workshop
Docker workshop
Rafael Dutra
 
Introduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein MainIntroduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Puja Abbassi
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Codemotion
 
Docker containers anintroduction
Docker containers anintroductionDocker containers anintroduction
Docker containers anintroduction
Khelender Sasan
 
Joomla Continuous Delivery with Docker
Joomla Continuous Delivery with DockerJoomla Continuous Delivery with Docker
Joomla Continuous Delivery with Docker
Jirayut Nimsaeng
 
Docker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopDocker Continuous Delivery Workshop
Docker Continuous Delivery Workshop
Jirayut Nimsaeng
 
Docker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshDocker based-Pipelines with Codefresh
Docker based-Pipelines with Codefresh
Codefresh
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
Ryan Hodgin
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
dotCloud
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on Openstack
Docker, Inc.
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019
Stefan Scherer
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
DevOps.com
 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualization
Suresh Balla
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
Ajeet Singh Raina
 
Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with docker
Vishwas N
 
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
devopsdaysaustin
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
Liang Bo
 
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornJDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
PROIDEA
 
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
Puppet
 
Introduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein MainIntroduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Puja Abbassi
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Codemotion
 
Docker containers anintroduction
Docker containers anintroductionDocker containers anintroduction
Docker containers anintroduction
Khelender Sasan
 
Ad

More from Jirayut Nimsaeng (12)

Build cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleBuild cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack Ansible
Jirayut Nimsaeng
 
Beyond OpenStack
Beyond OpenStackBeyond OpenStack
Beyond OpenStack
Jirayut Nimsaeng
 
OpenStack Ansible for private cloud at Kaidee
OpenStack Ansible for private cloud at KaideeOpenStack Ansible for private cloud at Kaidee
OpenStack Ansible for private cloud at Kaidee
Jirayut Nimsaeng
 
How to contribute to OpenStack
How to contribute to OpenStackHow to contribute to OpenStack
How to contribute to OpenStack
Jirayut Nimsaeng
 
Docker Workshop Birthday #3
Docker Workshop Birthday #3Docker Workshop Birthday #3
Docker Workshop Birthday #3
Jirayut Nimsaeng
 
Docker Workshop for beginner
Docker Workshop for beginnerDocker Workshop for beginner
Docker Workshop for beginner
Jirayut Nimsaeng
 
Docker in Production
Docker in ProductionDocker in Production
Docker in Production
Jirayut Nimsaeng
 
Better delivery with DevOps Driven Development
Better delivery with DevOps Driven DevelopmentBetter delivery with DevOps Driven Development
Better delivery with DevOps Driven Development
Jirayut Nimsaeng
 
How to เสร็จเร็ว (Use Agile for your project with team)
How to เสร็จเร็ว (Use Agile for your project with team)How to เสร็จเร็ว (Use Agile for your project with team)
How to เสร็จเร็ว (Use Agile for your project with team)
Jirayut Nimsaeng
 
Molome infrastructure
Molome infrastructureMolome infrastructure
Molome infrastructure
Jirayut Nimsaeng
 
A Study Of Cloud Computing
A Study Of Cloud ComputingA Study Of Cloud Computing
A Study Of Cloud Computing
Jirayut Nimsaeng
 
Web standards: Who cares?
Web standards: Who cares?Web standards: Who cares?
Web standards: Who cares?
Jirayut Nimsaeng
 
Build cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleBuild cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack Ansible
Jirayut Nimsaeng
 
OpenStack Ansible for private cloud at Kaidee
OpenStack Ansible for private cloud at KaideeOpenStack Ansible for private cloud at Kaidee
OpenStack Ansible for private cloud at Kaidee
Jirayut Nimsaeng
 
How to contribute to OpenStack
How to contribute to OpenStackHow to contribute to OpenStack
How to contribute to OpenStack
Jirayut Nimsaeng
 
Docker Workshop Birthday #3
Docker Workshop Birthday #3Docker Workshop Birthday #3
Docker Workshop Birthday #3
Jirayut Nimsaeng
 
Docker Workshop for beginner
Docker Workshop for beginnerDocker Workshop for beginner
Docker Workshop for beginner
Jirayut Nimsaeng
 
Better delivery with DevOps Driven Development
Better delivery with DevOps Driven DevelopmentBetter delivery with DevOps Driven Development
Better delivery with DevOps Driven Development
Jirayut Nimsaeng
 
How to เสร็จเร็ว (Use Agile for your project with team)
How to เสร็จเร็ว (Use Agile for your project with team)How to เสร็จเร็ว (Use Agile for your project with team)
How to เสร็จเร็ว (Use Agile for your project with team)
Jirayut Nimsaeng
 
A Study Of Cloud Computing
A Study Of Cloud ComputingA Study Of Cloud Computing
A Study Of Cloud Computing
Jirayut Nimsaeng
 

Recently uploaded (20)

Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 

Introduction to Docker

  • 1. Introduction to Jirayut Nimsaeng (Dear) Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014
  • 2. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 About me ● Jirayut Nimsaeng (Dear) ● Infrastructure Team Lead at Proteus Technologies ● Scrum Master ● Interested in Cloud and Open Source Technology
  • 3. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Experienced? ● Use Vagrant ● Read and tried Docker online tutorial ● Install and run Docker locally ● Build Docker images ● Push Docker images to Docker Hub ● Written Dockerfile ● Deploy Docker images for dev/test/prod
  • 4. Developer Problems Developer Local Test QA Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Production
  • 5. What Developer needs Production-like Quick Repeatable Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014
  • 6. Docker can solve this problem Developer Local Test QA Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Production
  • 7. Infrastructure Problems Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014
  • 8. Shipping with container Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014
  • 9. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Docker can ● Deploy (almost) everything
  • 10. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Docker can ● Deploy (almost) everywhere Native On VMs
  • 11. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Docker can ● Deploy reliably & consistently ● Everything will be exactly the same – Distros – Versions – Dependencies ● If it works locally, it will work everywhere
  • 12. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 In summary
  • 13. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Docker can ● Deploy efficiently – Laptop can run 10-100 containers easily – Server can run 10-1000 containers ● Containers can run at native speeds – http://www.slideshare.net/BodenRussell/kvm-and-docker- lxc-benchmarking-with-openstack
  • 14. Docker CPU benchmark Docker / KVM: Compute Node Steady-State CPU (Segment Overlay) Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 14 12 10 8 6 4 2 0 docker-usr docker-sys kvm-usr kvm-sys Time: KVM(95s - 307s) Docker(31s – 243s) CPU Usage In Percent Docker Averages – 0.2 – 0.03 KVM Averages – 1.91 – 0.36
  • 15. Docker Memory benchmark Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 7.00E+09 6.00E+09 5.00E+09 4.00E+09 3.00E+09 2.00E+09 1.00E+09 0.00E+00 Docker / KVM: Compute Node Used Memory (Overlay) kvm docker Axis Title Memory Used
  • 16. Docker Memory benchmark MEMCPY DUMB MCBLOCK Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 14000 12000 10000 8000 6000 4000 2000 0 3823.3 4393.3 12881.61 3813.38 4395.92 12905.68 3428.95 3461.59 7223.23 Memory Benchmark Performance Bare Metal (MiB/s) docker (MiB/s) KVM (MiB/s) Memory Test MiB/s
  • 17. Docker I/O benchmark Sysbench Synchronous File I/O Random Read/Write @ R/W Ratio of 1.50 1 2 4 8 16 32 64 Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 1600 1400 1200 1000 800 600 400 200 0 docker KVM Threads Total Transferred In Kb/sec
  • 18. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 What is Docker? ● Platform to help code, test and deploy applications ● Combine with – Lightweight container virtualization – Work flows – Tooling
  • 19. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Docker image ● Docker images are read-only templates ● Each image consists of series of layers ● Docker use union file system to combine layers into single image ● Every image starts from base image
  • 20. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Docker image layers
  • 21. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Docker container ● Docker containers launched from Docker image ● Container consists of – Operating system – User-added files – Meta-data ● When Docker container runs, it adds a read-write layer on top of the image
  • 22. Containers vs. VMs App A2 Hypervisor Host OS App B1 Jirayut Nimsaeng Containers are isolated, but share OS and, where appropriate, bins/libraries Bins/Libs Bins/Libs Host OS Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Server App A1 Guest OS Guest OS Guest OS Bins/ Libs Bins/ Libs Bins/ Libs VM Server App A1 App A2 App B1 App B2 App B3 Docker daemon Container
  • 23. Containers more lightweight VMs Containers App B1 Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 App A1 Guest OS App A2 Guest OS Guest OS Bins/ Libs Bins/ Libs Bins/ Libs App A1 App A2 Δ App A1 App A2 Modified App Bins/ Libs Base
  • 24. Docker container concept App D2 App E Prod App B MySQL PHP App E Demo Python AAppaacchhee Host OS (CoreOS) App D1 Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Kernel Docker driver, aufs/btrfs App A1 App A2 App B Demo App B Prod MySQL PHP Ubuntu base Bins/Libs Docker daemon Busybox base bins/libs Python Apache Data Container for App A1 App B CentOS base Bins/Libs Data Container for App A2 Data Container for App B Prod Data Container for App C App C App F Docker Base Image Docker Image Docker Container
  • 25. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Dockerfile ● Dockerfile is instructions to build Docker image – How to run commands – Add files or directories – Create environment variables – What process to run when launching container ● When build Dockerfile, new Docker image will return as a result ● Or we can call result from building Dockerfile is new base Docker image
  • 26. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Sample Dockerfile FROM base MAINTAINER Jirayut Nimsaeng <w [at] winginfotech.net> ADD build-files /build-files RUN apt-get update RUN apt-get install -y openssh-server vim tmux rsync byobu RUN mkdir /var/run/sshd RUN sed -i 's/required pam_loginuid.so/optional pam_loginuid.so/g' /etc/pam.d/sshd CMD /start.sh EXPOSE 22
  • 27. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Docker Registry ● Docker Registry is the store for Docker image ● Docker Hub is public Docker Registry like Github ● Using Docker client to push and pull Docker image from Docker Registry ● You can create your own Docker Registry
  • 28. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Docker Hub
  • 29. Commit Change Jirayut Nimsaeng App A2 Container App A App A Image Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Docker life cycle App A Docker Container Docker Registry Commit Push Host App A1 Container Pull Docker Engine Ubuntu Base Docker Apache Docker Container Apache Bins/Libs Apache + PHP Docker Image Bins/Libs Apache App A ΔΔ Change App A Apache Bins/Libs App A Docker image
  • 30. App A Image App A Docker Engine Jirayut Nimsaeng Image App A Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Docker workflows Dockerfile For App A Host 1 (Dev/Build Server) Docker Registry Host 2 (Container Server) 1.Build 2.Push 3.Pull 4.Run Docker Engine Container App A Production
  • 31. 2022 2035 2035 Jirayut Nimsaeng 80 Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Docker Use Cases ● Docker as Development Environment Host Virtualbox VM 22 SSH Docker Daemon Web Server boot2docker-vm 80 1024+ Docker Containers Database Host-only 80
  • 32. Bins/Libs Bins/Libs Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Docker Use Cases ● Docker as Infrastructure as a Service Host OS Server App A App A~ App B App B~ App B~~ Docker daemon
  • 33. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Docker Use Cases ● Docker as Platform as a Service
  • 34. Jirayut Nimsaeng Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 Docker Use Cases ● Docker for Continuous Delivery
  • 35. Continuous Delivery with Docker Repository Server 5.Get Wordpress Code Jirayut Nimsaeng MySQL Data Image Docker for DevOps and Continuous Delivery Workshop October 11, 2014 @ OSS Festival 2014 MySQL Dockerfile Data MySQL Data Image Docker Engine Host 1 (Dev/Build Server) Docker Registry Host 2 (Container Server) 1.Build 3.Push 7.Pull 8.Run Docker Engine Container MySQL Data Backup Server 2.Get DB Backup Wordpress 4.Build Dockerfile Wordpress Image 6.Push Wordpress Image Container Wordpress