SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
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
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!

Weitere ähnliche Inhalte

Was ist angesagt?

Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on AzurePatrick Chanezon
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionRobert 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
 
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 ContainersRyan Hodgin
 
Orchestrating Docker containers at scale
Orchestrating Docker containers at scaleOrchestrating Docker containers at scale
Orchestrating Docker containers at scaleMaciej 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 OCCSFrank Munz
 
Introduction To Docker
Introduction To DockerIntroduction To Docker
Introduction To DockerHamilton Turner
 
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 DockerAlan 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 virtualizationSuresh Balla
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerInstruqt
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developerWeerayut Hongsa
 
Docker HK Meetup - 201707
Docker HK Meetup - 201707Docker HK Meetup - 201707
Docker HK Meetup - 201707Clarence Ho
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerChristophe 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 machinesSteven Grzbielok
 

Was ist angesagt? (20)

Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !
 
Learning Docker with Thomas
Learning Docker with ThomasLearning Docker with Thomas
Learning Docker with Thomas
 
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
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
 
Orchestrating Docker containers at scale
Orchestrating Docker containers at scaleOrchestrating Docker containers at scale
Orchestrating Docker containers at scale
 
Docker
DockerDocker
Docker
 
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
 
Introduction To Docker
Introduction To DockerIntroduction To Docker
Introduction To Docker
 
Docker - introduction
Docker - introductionDocker - introduction
Docker - introduction
 
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
 
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...
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
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
Introduction to dockerIntroduction to docker
Introduction to docker
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developer
 
Docker HK Meetup - 201707
Docker HK Meetup - 201707Docker HK Meetup - 201707
Docker HK Meetup - 201707
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
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
 

Ähnlich wie Docker introduction

Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for DevelopmentChris Tankersley
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionJeffrey Ellin
 
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 SummitDocker, 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 EcosystemVan Phuc
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java binOlve Hansen
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with DockerPatrick Mizer
 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power SystemsCesar 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 2013dotCloud
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014Carlo Bonamico
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Dockernklmish
 
Docker introduction
Docker introductionDocker introduction
Docker introductionMarcelo Ochoa
 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentalsAlper Unal
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with DockerAndrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with DockerAndrey 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 JenkinsElasTest 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
 

Ähnlich wie Docker introduction (20)

Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker & Daily DevOps
Docker & Daily DevOpsDocker & Daily DevOps
Docker & Daily DevOps
 
Docker and-daily-devops
Docker and-daily-devopsDocker and-daily-devops
Docker and-daily-devops
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 
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
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java bin
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
 
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
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentals
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
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
 
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
DockerDocker
Docker
 

KĂźrzlich hochgeladen

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĂşjo
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

KĂźrzlich hochgeladen (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

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
  • 11.
  • 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: liewjoee@gmail.com or au.linkedin.com/in/liewjoee Thank You!