SlideShare a Scribd company logo
1 of 35
Download to read offline
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

Locally it worked! virtualizing docker
Locally it worked! virtualizing dockerLocally it worked! virtualizing docker
Locally it worked! virtualizing dockerSascha Brinkmann
 
Automate App Container Delivery with CI/CD and DevOps
Automate App Container Delivery with CI/CD and DevOpsAutomate App Container Delivery with CI/CD and DevOps
Automate App Container Delivery with CI/CD and DevOpsDaniel Oh
 
Testing with Docker
Testing with DockerTesting with Docker
Testing with Dockertoffermann
 
Stop Being Lazy and Test Your Software
Stop Being Lazy and Test Your SoftwareStop Being Lazy and Test Your Software
Stop Being Lazy and Test Your SoftwareLaura Frank Tacho
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the Worlddamovsky
 
What's New in Docker 19.03.0 Pre-Release?
What's New in Docker 19.03.0 Pre-Release?What's New in Docker 19.03.0 Pre-Release?
What's New in Docker 19.03.0 Pre-Release?Ajeet Singh Raina
 
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 TechnologyAjeet Singh Raina
 
Node.js Rocks in Docker for Dev and Ops
Node.js Rocks in Docker for Dev and OpsNode.js Rocks in Docker for Dev and Ops
Node.js Rocks in Docker for Dev and OpsBret Fisher
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerAjeet Singh Raina
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDr Ganesh Iyer
 
Fits docker into devops
Fits docker into devopsFits docker into devops
Fits docker into devopsEvans Ye
 
DockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @OrbitzDockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @OrbitzDocker, Inc.
 
Contribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben BonnefoyContribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben BonnefoyDocker, Inc.
 
Docker Indy Meetup - CICD 26-May-2015
Docker Indy Meetup - CICD 26-May-2015Docker Indy Meetup - CICD 26-May-2015
Docker Indy Meetup - CICD 26-May-2015Matt Bentley
 
Efficient Parallel Testing with Docker by Laura Frank
Efficient Parallel Testing with Docker by Laura FrankEfficient Parallel Testing with Docker by Laura Frank
Efficient Parallel Testing with Docker by Laura FrankDocker, Inc.
 
Docker Platform Internals: Taking runtimes and image creation to the next lev...
Docker Platform Internals: Taking runtimes and image creation to the next lev...Docker Platform Internals: Taking runtimes and image creation to the next lev...
Docker Platform Internals: Taking runtimes and image creation to the next lev...Docker, Inc.
 

What's hot (20)

Locally it worked! virtualizing docker
Locally it worked! virtualizing dockerLocally it worked! virtualizing docker
Locally it worked! virtualizing docker
 
Automate App Container Delivery with CI/CD and DevOps
Automate App Container Delivery with CI/CD and DevOpsAutomate App Container Delivery with CI/CD and DevOps
Automate App Container Delivery with CI/CD and DevOps
 
Testing with Docker
Testing with DockerTesting with Docker
Testing with Docker
 
Stop Being Lazy and Test Your Software
Stop Being Lazy and Test Your SoftwareStop Being Lazy and Test Your Software
Stop Being Lazy and Test Your Software
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
 
What's New in Docker 19.03.0 Pre-Release?
What's New in Docker 19.03.0 Pre-Release?What's New in Docker 19.03.0 Pre-Release?
What's New in Docker 19.03.0 Pre-Release?
 
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
 
Node.js Rocks in Docker for Dev and Ops
Node.js Rocks in Docker for Dev and OpsNode.js Rocks in Docker for Dev and Ops
Node.js Rocks in Docker for Dev and Ops
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containers
 
Docker in Production
Docker in ProductionDocker in Production
Docker in Production
 
Fits docker into devops
Fits docker into devopsFits docker into devops
Fits docker into devops
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
DockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @OrbitzDockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @Orbitz
 
Dockercon 2018 EU Updates
Dockercon 2018 EU Updates Dockercon 2018 EU Updates
Dockercon 2018 EU Updates
 
Contribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben BonnefoyContribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
 
Docker Indy Meetup - CICD 26-May-2015
Docker Indy Meetup - CICD 26-May-2015Docker Indy Meetup - CICD 26-May-2015
Docker Indy Meetup - CICD 26-May-2015
 
Efficient Parallel Testing with Docker by Laura Frank
Efficient Parallel Testing with Docker by Laura FrankEfficient Parallel Testing with Docker by Laura Frank
Efficient Parallel Testing with Docker by Laura Frank
 
Docker Platform Internals: Taking runtimes and image creation to the next lev...
Docker Platform Internals: Taking runtimes and image creation to the next lev...Docker Platform Internals: Taking runtimes and image creation to the next lev...
Docker Platform Internals: Taking runtimes and image creation to the next lev...
 

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 EcosistemaGermán Moltó
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a DockerOpen 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
 

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

Docker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopDocker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopJirayut Nimsaeng
 
Docker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshDocker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshCodefresh
 
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-12dotCloud
 
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 CampusAjeet 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 2019Stefan Scherer
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelinesDevOps.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 virtualizationSuresh Balla
 
Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with dockerVishwas 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 Productiondevopsdaysaustin
 
Docker module 1
Docker module 1Docker module 1
Docker module 1Liang 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 DornPROIDEA
 
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 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 anintroductionKhelender Sasan
 
Docker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server ContainersDocker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server ContainersAnthony Chu
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for DevelopmentChris Tankersley
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014Carlo Bonamico
 

Similar to Introduction to Docker (20)

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 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
 
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
 
Docker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server ContainersDocker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server Containers
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
 

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 AnsibleJirayut 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 KaideeJirayut Nimsaeng
 
How to contribute to OpenStack
How to contribute to OpenStackHow to contribute to OpenStack
How to contribute to OpenStackJirayut Nimsaeng
 
Docker Workshop Birthday #3
Docker Workshop Birthday #3Docker Workshop Birthday #3
Docker Workshop Birthday #3Jirayut Nimsaeng
 
Docker Workshop for beginner
Docker Workshop for beginnerDocker Workshop for beginner
Docker Workshop for beginnerJirayut Nimsaeng
 
Better delivery with DevOps Driven Development
Better delivery with DevOps Driven DevelopmentBetter delivery with DevOps Driven Development
Better delivery with DevOps Driven DevelopmentJirayut 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 ComputingJirayut Nimsaeng
 

More from Jirayut Nimsaeng (11)

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

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 

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