SlideShare a Scribd company logo
Introduction to docker
l
SCADA Engineer by day
l
Software developer by night
l
Particularly interest in bleeding edge technology and
automating using these `bleeding edge` technology and
Continuos Delivery
l
Warning! I am not associate with Docker Inc, just another
free ambasador to Docker.
l
Btw: This slide is adapted from original dotcloud why-docker presentation
l
Jo Ee Liew
What is a docker
l
Docker implements a high-level API to provide lightweight
containers that run processes in isolation [citation from wikipedia]
l
Built on top of facilities provided by the Linux kernel, cgroups and
namespaces [citation from wikipedia]
l
Open Source project under Apache License 2.0
l
isolation
Image by: http://www.zdnet.com/article/docker-libcontainer-unifies-linux-container-powers/
Why Docker Matter?
Results in N X N compatibility nightmare
Static website
Web frontend
Background
workers
User DB
Analytics DB
Queue
Develop
ment VM
QA
Server
Single
Prod
Server
Onsite
Cluster
Public
Cloud
Contribut
orโ€™s
laptop
Custome
r Servers
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
Static website
Web frontend
Background
workers
User DB
Analytics DB
Queue
Develop
ment VM
QA
Server
Single
Prod
Server
Onsite
Cluster
Public
Cloud
Contribut
orโ€™s
laptop
Custome
r Servers
Docker solves the NXN problem
Why containers matter
Physical Containers Docker
Content Agnostic The same container can hold almost
any type of cargo
Can encapsulate any payload and its
dependencies
Hardware Agnostic Standard shape and interface allow
same container to move from ship to
train to semi-truck to warehouse to
crane without being modified or opened
Using operating system primitives (e.g.
LXC) can run consistently on virtually any
hardwareโ€”VMs, bare metal, openstack,
public IAAS, etc.โ€”without modification
Content Isolation and
Interaction
No worry about anvils crushing
bananas. Containers can be stacked
and shipped together
Resource, network, and content isolation.
Avoids dependency hell
Automation Standard interfaces make it easy to
automate loading, unloading, moving,
etc.
Standard operations to run, start, stop,
commit, search, etc. Perfect for devops: CI,
CD, autoscaling, hybrid clouds
Highly efficient No opening or modification, quick to
move between waypoints
Lightweight, virtually no perf or start-up
penalty, quick to move and manipulate
Separation of duties Shipper worries about inside of box,
carrier worries about outside of box
Developer worries about code. Ops worries
about infrastructure.
Why Developers Care
โ€ข Build onceโ€ฆrun anywhere
โ€ข Configure onceโ€ฆrun anything
Why you would Care (as non-developer)
โ€ข All I care is a RUNNING application
โ€ข And Not tinkering with dependencies and
funny operating system settings or even
software settings
Docker introduction
Real World Scenario
Sells Software
$$$$
Real World Scenario
Install the Software
Real World Scenario
Real World Scenario
Real World Scenario
Call the Vendor
Usually you dont get to talk to the salesman(who
promise you the sky) or the developer directly
Real World Scenario
Etc: Did you even power up the PC, Wrong
Dependency, Wrong software settings? Are you
serious , wrong firing seqeunce??!!
How would Docker change the fact
Sells a Solution
$$$$
Real World Scenario
Install the Software
Or Private Registry
Real World Scenario
Real World Scenario
Real World Scenario
Call the Vendor
Real World Scenario
Containers vs. VMs
Picture by http://sattia.blogspot.com.au/2014/05/docker-lightweight-linux-containers-for.html
Containers vs. VMs
โ€ข Performance comparison chart is very confusing
i. http://en.community.dell.com/techcenter/high-performance-computing/b/general_hpc/archive/2014/11/04/containers-docker-
virtual-machines-and-hpc
ii. http://cs.nyu.edu/courses/fall14/CSCI-GA.3033-010/vmVcontainers.pdf
iii. http://blogs.vmware.com/performance/2014/10/docker-containers-performance-vmware-vsphere.html
โ€ข But, minumum specification for the popular operating system is the following
โ€ข On top of every VM guest, thes CPU settings and RAM is required to be adminstrate
(omitting the removable drive) wheras this not the nature to set these requirement
for Docker container.
What else does the docker does
โ€ข Run in its own process space
โ€ข Has its own network interface OR multiple interfaces
[require some hacking]
โ€ข Can run processes as root or specific user
โ€ข Can run its own /sbin/init
โ€ข Can expose the host's filesystem [you have been warned!!]
โ€ข Can expose port, kernel filesystem of container's host
โ€ข Limit the cpu, cpuset and memory when running container
โ€ข Running multiple container in the different host [but this is
part of the `battery` included package]
What docker `not yet` do
โ€ข Cannot limit blkio limit (natively), there is workaround
โ€ข Cannot limit disk quota on container, there is workaround
โ€ข Cannot cross host networking the containers without
exposing the traffic externally or via namespace. [could
cause network conflict if not carefully administrate], again
there is `plenty` work around
Enough talking! Show me!
โ€ข The easiest way to run the Docker:
โ€ข >docker pull ubuntu:12.04
โ€ข >docker run ubuntu:12.04 /bin/sh -c โ€œecho hello worldโ€
โ€ข >docker ps -a
CONTAINER ID IMAGE COMMAND
CREATED STATUS PORTS
NAMES
c1897642c6c7 ubuntu:12.04 "/bin/sh -c 'echo he
22 seconds ago Exited (0) 20 seconds ago
insane_ritchie
>docker rm c1897642c6c7
โ€ข How about running some application with X
โ€ข >docker pull ubuntu:12.04
>docker run -i -t -e DISPLAY=:0.0 -v /tmp/.X11-
unix:/tmp/.X11-unix:rw ubuntu:12.04withfirefox
/usr/bin/firefox
Types of docker
โ€ข Application Container (is the most common)
โ€ข Data-only Container (is also common)
โ€ข Management Container
โ€ข Once-off-utiliy container
โ€ข Ambasador Container
โ€ข Repository Container
โ€ข Other more
Data only container
โ€ข The easiest way to run the Docker:
โ€ข >docker run -v /tmp โ€“name data-only-container
ubuntu:12.04withfirefox
โ€ข >docker run โ€“volume-from data-only-container /bin/ls /tmp
Networking
โ€ข When Docker container is created
l
It will create a veth pair connecting to bridge and another
connecting to the docker container namespace
l
The default bridge docker0
โ€ข Lets see!
Networking
Image by: https://linuxmeerkat.wordpress.com/
Networking
โ€ข To expose the port to external
l
docker run -p 20000:2000 ubuntu /bin/bash
[system]:[internal]
โ€ข 3 ways to run the docker
l
--net=none
l
--net=host
l
--net=container_id or name [I havent tried this option]
โ€ข To link 2 containers
l
--link=CONTAINER_NAME:ALIAS
Where are we going with this?
โ€ข Ochestration
l
-Docker Machine
l
-Docker Swarm
l
-Docker Compose
Other API for Ochestration
โ€ข Kurbenetes
โ€ข Marathon
โ€ข Fleet [ I havent tried yet]
โ€ข Others
Reference
โ€ข James Turnbull : The docker book
โ€ข Docker Blog
โ€ข Mesosphere Blog
โ€ข Any other resources online. Thanks abundant.
Next session 'Show and Tell'
โ€ข Docker build
โ€ข Docker inspect
โ€ข Docker exec
โ€ข Exposing the host filesystem to the docker container
โ€ข More ...
*I am still looking for the coolest job under the Sun!!!
Contact me: liewjoee@gmail.com or au.linkedin.com/in/liewjoee
Thank You!
Ad

More Related Content

What's hot (20)

Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
Patrick Chanezon
ย 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Robert Reiz
ย 
Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !
Francisco Gonรงalves
ย 
Learning Docker with Thomas
Learning Docker with ThomasLearning Docker with Thomas
Learning Docker with Thomas
Thomas Tong, FRM, PMP
ย 
Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9 Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9
Jรฉrรดme Petazzoni
ย 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
Ryan Hodgin
ย 
Orchestrating Docker containers at scale
Orchestrating Docker containers at scaleOrchestrating Docker containers at scale
Orchestrating Docker containers at scale
Maciej Lasyk
ย 
Docker
DockerDocker
Docker
Mutlu Okuducu
ย 
Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCS
Frank Munz
ย 
Introduction To Docker
Introduction To DockerIntroduction To Docker
Introduction To Docker
Hamilton Turner
ย 
Docker - introduction
Docker - introductionDocker - introduction
Docker - introduction
Michaล‚ Kurzeja
ย 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
RightScale
ย 
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
dotCloud
ย 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Alan Forbes
ย 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualization
Suresh Balla
ย 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
Instruqt
ย 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developer
Weerayut Hongsa
ย 
Docker HK Meetup - 201707
Docker HK Meetup - 201707Docker HK Meetup - 201707
Docker HK Meetup - 201707
Clarence Ho
ย 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
Christophe Muller
ย 
Discussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machinesDiscussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machines
Steven Grzbielok
ย 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
Patrick Chanezon
ย 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Robert Reiz
ย 
Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !
Francisco Gonรงalves
ย 
Learning Docker with Thomas
Learning Docker with ThomasLearning Docker with Thomas
Learning Docker with Thomas
Thomas Tong, FRM, PMP
ย 
Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9 Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9
Jรฉrรดme Petazzoni
ย 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
Ryan Hodgin
ย 
Orchestrating Docker containers at scale
Orchestrating Docker containers at scaleOrchestrating Docker containers at scale
Orchestrating Docker containers at scale
Maciej Lasyk
ย 
Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCS
Frank Munz
ย 
Introduction To Docker
Introduction To DockerIntroduction To Docker
Introduction To Docker
Hamilton Turner
ย 
Docker - introduction
Docker - introductionDocker - introduction
Docker - introduction
Michaล‚ Kurzeja
ย 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
RightScale
ย 
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
dotCloud
ย 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Alan Forbes
ย 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualization
Suresh Balla
ย 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
Instruqt
ย 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developer
Weerayut Hongsa
ย 
Docker HK Meetup - 201707
Docker HK Meetup - 201707Docker HK Meetup - 201707
Docker HK Meetup - 201707
Clarence Ho
ย 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
Christophe Muller
ย 
Discussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machinesDiscussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machines
Steven Grzbielok
ย 

Similar to Docker introduction (20)

Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
Chris Tankersley
ย 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Jeffrey Ellin
ย 
Docker and-daily-devops
Docker and-daily-devopsDocker and-daily-devops
Docker and-daily-devops
Satria Ady Pradana
ย 
Docker & Daily DevOps
Docker & Daily DevOpsDocker & Daily DevOps
Docker & Daily DevOps
Satria Ady Pradana
ย 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
Docker, Inc.
ย 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
Docker, Inc.
ย 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Van Phuc
ย 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java bin
Olve Hansen
ย 
ma-formation-en-Docker-jlklk,nknkjn.pptx
ma-formation-en-Docker-jlklk,nknkjn.pptxma-formation-en-Docker-jlklk,nknkjn.pptx
ma-formation-en-Docker-jlklk,nknkjn.pptx
imenhamada17
ย 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
Patrick Mizer
ย 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
Cesar Maciel
ย 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
dotCloud
ย 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
Carlo Bonamico
ย 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
nklmish
ย 
Docker introduction
Docker introductionDocker introduction
Docker introduction
Marcelo Ochoa
ย 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentals
Alper Unal
ย 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
Andrey Hristov
ย 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
Andrey Hristov
ย 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ElasTest Project
ย 
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
ย 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
Chris Tankersley
ย 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Jeffrey Ellin
ย 
Docker and-daily-devops
Docker and-daily-devopsDocker and-daily-devops
Docker and-daily-devops
Satria Ady Pradana
ย 
Docker & Daily DevOps
Docker & Daily DevOpsDocker & Daily DevOps
Docker & Daily DevOps
Satria Ady Pradana
ย 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
Docker, Inc.
ย 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
Docker, Inc.
ย 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Van Phuc
ย 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java bin
Olve Hansen
ย 
ma-formation-en-Docker-jlklk,nknkjn.pptx
ma-formation-en-Docker-jlklk,nknkjn.pptxma-formation-en-Docker-jlklk,nknkjn.pptx
ma-formation-en-Docker-jlklk,nknkjn.pptx
imenhamada17
ย 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
Patrick Mizer
ย 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
Cesar Maciel
ย 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
dotCloud
ย 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
Carlo Bonamico
ย 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
nklmish
ย 
Docker introduction
Docker introductionDocker introduction
Docker introduction
Marcelo Ochoa
ย 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentals
Alper Unal
ย 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
Andrey Hristov
ย 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
Andrey Hristov
ย 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ElasTest Project
ย 
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
ย 
Ad

Recently uploaded (20)

Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
ย 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
ย 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
ย 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
ย 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
ย 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
ย 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
ย 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
ย 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
ย 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
ย 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
ย 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
ย 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
ย 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
ย 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
ย 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
ย 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
ย 
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy ConsumptionDrupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Exove
ย 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
ย 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
ย 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
ย 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
ย 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
ย 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
ย 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
ย 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
ย 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
ย 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
ย 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
ย 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
ย 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
ย 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
ย 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
ย 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
ย 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
ย 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
ย 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
ย 
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy ConsumptionDrupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Exove
ย 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
ย 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
ย 
Ad

Docker introduction

  • 2. l SCADA Engineer by day l Software developer by night l Particularly interest in bleeding edge technology and automating using these `bleeding edge` technology and Continuos Delivery l Warning! I am not associate with Docker Inc, just another free ambasador to Docker. l Btw: This slide is adapted from original dotcloud why-docker presentation l Jo Ee Liew
  • 3. What is a docker l Docker implements a high-level API to provide lightweight containers that run processes in isolation [citation from wikipedia] l Built on top of facilities provided by the Linux kernel, cgroups and namespaces [citation from wikipedia] l Open Source project under Apache License 2.0 l isolation
  • 6. Results in N X N compatibility nightmare Static website Web frontend Background workers User DB Analytics DB Queue Develop ment VM QA Server Single Prod Server Onsite Cluster Public Cloud Contribut orโ€™s laptop Custome r Servers ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  • 7. Static website Web frontend Background workers User DB Analytics DB Queue Develop ment VM QA Server Single Prod Server Onsite Cluster Public Cloud Contribut orโ€™s laptop Custome r Servers Docker solves the NXN problem
  • 8. Why containers matter Physical Containers Docker Content Agnostic The same container can hold almost any type of cargo Can encapsulate any payload and its dependencies Hardware Agnostic Standard shape and interface allow same container to move from ship to train to semi-truck to warehouse to crane without being modified or opened Using operating system primitives (e.g. LXC) can run consistently on virtually any hardwareโ€”VMs, bare metal, openstack, public IAAS, etc.โ€”without modification Content Isolation and Interaction No worry about anvils crushing bananas. Containers can be stacked and shipped together Resource, network, and content isolation. Avoids dependency hell Automation Standard interfaces make it easy to automate loading, unloading, moving, etc. Standard operations to run, start, stop, commit, search, etc. Perfect for devops: CI, CD, autoscaling, hybrid clouds Highly efficient No opening or modification, quick to move between waypoints Lightweight, virtually no perf or start-up penalty, quick to move and manipulate Separation of duties Shipper worries about inside of box, carrier worries about outside of box Developer worries about code. Ops worries about infrastructure.
  • 9. Why Developers Care โ€ข Build onceโ€ฆrun anywhere โ€ข Configure onceโ€ฆrun anything
  • 10. Why you would Care (as non-developer) โ€ข All I care is a RUNNING application โ€ข And Not tinkering with dependencies and funny operating system settings or even software settings
  • 12. Real World Scenario Sells Software $$$$
  • 16. Real World Scenario Call the Vendor Usually you dont get to talk to the salesman(who promise you the sky) or the developer directly
  • 17. Real World Scenario Etc: Did you even power up the PC, Wrong Dependency, Wrong software settings? Are you serious , wrong firing seqeunce??!!
  • 18. How would Docker change the fact Sells a Solution $$$$
  • 19. Real World Scenario Install the Software Or Private Registry
  • 24. Containers vs. VMs Picture by http://sattia.blogspot.com.au/2014/05/docker-lightweight-linux-containers-for.html
  • 25. Containers vs. VMs โ€ข Performance comparison chart is very confusing i. http://en.community.dell.com/techcenter/high-performance-computing/b/general_hpc/archive/2014/11/04/containers-docker- virtual-machines-and-hpc ii. http://cs.nyu.edu/courses/fall14/CSCI-GA.3033-010/vmVcontainers.pdf iii. http://blogs.vmware.com/performance/2014/10/docker-containers-performance-vmware-vsphere.html โ€ข But, minumum specification for the popular operating system is the following โ€ข On top of every VM guest, thes CPU settings and RAM is required to be adminstrate (omitting the removable drive) wheras this not the nature to set these requirement for Docker container.
  • 26. What else does the docker does โ€ข Run in its own process space โ€ข Has its own network interface OR multiple interfaces [require some hacking] โ€ข Can run processes as root or specific user โ€ข Can run its own /sbin/init โ€ข Can expose the host's filesystem [you have been warned!!] โ€ข Can expose port, kernel filesystem of container's host โ€ข Limit the cpu, cpuset and memory when running container โ€ข Running multiple container in the different host [but this is part of the `battery` included package]
  • 27. What docker `not yet` do โ€ข Cannot limit blkio limit (natively), there is workaround โ€ข Cannot limit disk quota on container, there is workaround โ€ข Cannot cross host networking the containers without exposing the traffic externally or via namespace. [could cause network conflict if not carefully administrate], again there is `plenty` work around
  • 28. Enough talking! Show me! โ€ข The easiest way to run the Docker: โ€ข >docker pull ubuntu:12.04 โ€ข >docker run ubuntu:12.04 /bin/sh -c โ€œecho hello worldโ€ โ€ข >docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c1897642c6c7 ubuntu:12.04 "/bin/sh -c 'echo he 22 seconds ago Exited (0) 20 seconds ago insane_ritchie >docker rm c1897642c6c7
  • 29. โ€ข How about running some application with X โ€ข >docker pull ubuntu:12.04 >docker run -i -t -e DISPLAY=:0.0 -v /tmp/.X11- unix:/tmp/.X11-unix:rw ubuntu:12.04withfirefox /usr/bin/firefox
  • 30. Types of docker โ€ข Application Container (is the most common) โ€ข Data-only Container (is also common) โ€ข Management Container โ€ข Once-off-utiliy container โ€ข Ambasador Container โ€ข Repository Container โ€ข Other more
  • 31. Data only container โ€ข The easiest way to run the Docker: โ€ข >docker run -v /tmp โ€“name data-only-container ubuntu:12.04withfirefox โ€ข >docker run โ€“volume-from data-only-container /bin/ls /tmp
  • 32. Networking โ€ข When Docker container is created l It will create a veth pair connecting to bridge and another connecting to the docker container namespace l The default bridge docker0 โ€ข Lets see!
  • 34. Networking โ€ข To expose the port to external l docker run -p 20000:2000 ubuntu /bin/bash [system]:[internal] โ€ข 3 ways to run the docker l --net=none l --net=host l --net=container_id or name [I havent tried this option] โ€ข To link 2 containers l --link=CONTAINER_NAME:ALIAS
  • 35. Where are we going with this? โ€ข Ochestration l -Docker Machine l -Docker Swarm l -Docker Compose
  • 36. Other API for Ochestration โ€ข Kurbenetes โ€ข Marathon โ€ข Fleet [ I havent tried yet] โ€ข Others
  • 37. Reference โ€ข James Turnbull : The docker book โ€ข Docker Blog โ€ข Mesosphere Blog โ€ข Any other resources online. Thanks abundant.
  • 38. Next session 'Show and Tell' โ€ข Docker build โ€ข Docker inspect โ€ข Docker exec โ€ข Exposing the host filesystem to the docker container โ€ข More ...
  • 39. *I am still looking for the coolest job under the Sun!!! Contact me: [email protected] or au.linkedin.com/in/liewjoee Thank You!