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

More Related Content

What's hot

Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
Bangladesh Network Operators Group
 
What is Docker
What is DockerWhat is Docker
What is Docker
Pavel Klimiankou
 
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
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management services
abhishek chawla
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
Ravindu Fernando
 
Why Docker
Why DockerWhy Docker
Why DockerdotCloud
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
Krishna-Kumar
 
Docker in real life
Docker in real lifeDocker in real life
Docker in real life
Nguyen Van Vuong
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Simplilearn
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
Yajushi Srivastava
 
Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
Ajeet Singh Raina
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
Docker, Inc.
 
Docker Networking Overview
Docker Networking OverviewDocker Networking Overview
Docker Networking Overview
Sreenivas Makam
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
dotCloud
 
Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0
Docker, Inc.
 
Docker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker Networking
Docker, Inc.
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
POSSCON
 
Introduction To Containers - Builders Day Israel
Introduction To Containers - Builders Day IsraelIntroduction To Containers - Builders Day Israel
Introduction To Containers - Builders Day Israel
Amazon Web Services
 
Virtual machines and containers
Virtual machines and containersVirtual machines and containers
Virtual machines and containers
Patrick Pierson
 
Intro to Docker November 2013
Intro to Docker November 2013Intro to Docker November 2013
Intro to Docker November 2013Docker, Inc.
 

What's hot (20)

Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
 
What is Docker
What is DockerWhat is Docker
What is 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...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management services
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
Why Docker
Why DockerWhy Docker
Why Docker
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
 
Docker in real life
Docker in real lifeDocker in real life
Docker in real life
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
 
Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
 
Docker Networking Overview
Docker Networking OverviewDocker Networking Overview
Docker Networking Overview
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0
 
Docker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker Networking
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
 
Introduction To Containers - Builders Day Israel
Introduction To Containers - Builders Day IsraelIntroduction To Containers - Builders Day Israel
Introduction To Containers - Builders Day Israel
 
Virtual machines and containers
Virtual machines and containersVirtual machines and containers
Virtual machines and containers
 
Intro to Docker November 2013
Intro to Docker November 2013Intro to Docker November 2013
Intro to Docker November 2013
 

Viewers also liked

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
 

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
 
Seminario: Docker y su Ecosistema
Seminario: Docker y su EcosistemaSeminario: Docker y su Ecosistema
Seminario: Docker y su Ecosistema
 
Comenzando con Docker en AWS
Comenzando con Docker en AWSComenzando con Docker en AWS
Comenzando con Docker en AWS
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Contenedores como Servicio con Docker
Contenedores como Servicio con DockerContenedores como Servicio con Docker
Contenedores como Servicio con Docker
 
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 ...
 
Dockerfile
Dockerfile Dockerfile
Dockerfile
 

Similar to Introduction to Docker

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 OpenstackDocker, 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 MainPuja 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
 

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
 
Docker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopDocker Continuous Delivery Workshop
Docker Continuous Delivery Workshop
 
Docker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshDocker based-Pipelines with Codefresh
Docker based-Pipelines with Codefresh
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
 
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
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on Openstack
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
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
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
 
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
 
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
 
Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with docker
 
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
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
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
 
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- ...
 
Docker workshop
Docker workshopDocker workshop
Docker workshop
 
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
 
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...
 
Docker containers anintroduction
Docker containers anintroductionDocker containers anintroduction
Docker containers anintroduction
 

More from 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
 
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
 

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
 
Beyond OpenStack
Beyond OpenStackBeyond OpenStack
Beyond OpenStack
 
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
 
How to contribute to OpenStack
How to contribute to OpenStackHow to contribute to OpenStack
How to contribute to OpenStack
 
Docker Workshop Birthday #3
Docker Workshop Birthday #3Docker Workshop Birthday #3
Docker Workshop Birthday #3
 
Docker Workshop for beginner
Docker Workshop for beginnerDocker Workshop for beginner
Docker Workshop for beginner
 
Docker in Production
Docker in ProductionDocker in Production
Docker in Production
 
Better delivery with DevOps Driven Development
Better delivery with DevOps Driven DevelopmentBetter delivery with DevOps Driven Development
Better delivery with DevOps Driven Development
 
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)
 
Molome infrastructure
Molome infrastructureMolome infrastructure
Molome infrastructure
 
A Study Of Cloud Computing
A Study Of Cloud ComputingA Study Of Cloud Computing
A Study Of Cloud Computing
 
Web standards: Who cares?
Web standards: Who cares?Web standards: Who cares?
Web standards: Who cares?
 

Recently uploaded

Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 

Recently uploaded (20)

Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 

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