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

Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerInstruqt
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Herofazalraja
 
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 ContainersYajushi Srivastava
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Simplilearn
 
The world of Containers with Podman, Buildah, Skopeo by Seema - CCDays
The world of Containers with Podman, Buildah, Skopeo by Seema - CCDaysThe world of Containers with Podman, Buildah, Skopeo by Seema - CCDays
The world of Containers with Podman, Buildah, Skopeo by Seema - CCDaysCodeOps Technologies LLP
 
Container Security
Container SecurityContainer Security
Container SecuritySalman Baset
 
Docker intro
Docker introDocker intro
Docker introOleg Z
 
Kubernetes 101 for Beginners
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for BeginnersOktay Esgul
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetesDongwon Kim
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAditya Konarde
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introductionSparkbit
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.ioNicolas Hennion
 
Docker and kubernetes_introduction
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introductionJason Hu
 
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Edureka!
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionHao Fan
 
Linux Container Technology 101
Linux Container Technology 101Linux Container Technology 101
Linux Container Technology 101inside-BigData.com
 

What's hot (20)

Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Hero
 
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
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
 
The world of Containers with Podman, Buildah, Skopeo by Seema - CCDays
The world of Containers with Podman, Buildah, Skopeo by Seema - CCDaysThe world of Containers with Podman, Buildah, Skopeo by Seema - CCDays
The world of Containers with Podman, Buildah, Skopeo by Seema - CCDays
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Container Security
Container SecurityContainer Security
Container Security
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Docker intro
Docker introDocker intro
Docker intro
 
Kubernetes 101 for Beginners
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for Beginners
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introduction
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
 
Docker and kubernetes_introduction
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introduction
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Linux Container Technology 101
Linux Container Technology 101Linux Container Technology 101
Linux Container Technology 101
 

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

Joomla Continuous Delivery with Docker
Joomla Continuous Delivery with DockerJoomla Continuous Delivery with Docker
Joomla Continuous Delivery with DockerJirayut Nimsaeng
 
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 Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersRyan 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-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
 
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
 
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
 

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

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

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