SlideShare a Scribd company logo
1 of 15
What is it?
● It's everything it's slogan says
– “Build, ship, and Run Any App, Anywhere”
● It's a container platform
– OS-level virtualisation (LXC)
– Multiple isolated Linux (and Windows) systems on
one host using that one host's Linux kernel
● Standardised unit for software development
– Portable way of deploying applications
How is this different from VMs?
● Historically application developers ship a VM per
application/service (micro-service architecture)
– This requires a VM guest OS per application with
associated resourcing
● Using Docker, all containers share host kernel with
all other containers
– Isolated process in user-space
● Docker Engine instead of Hypervisor
VM style
Docker style
Architecture
Docker Image
● The build component of Docker
● e.g. “Ubuntu running Apache”
● Read only template
● Used to build up Docker containers
– Layered architecture i.e. UnionFS
● Download and use Images others have created
● Create your own Image using your container
Docker Container
● The run component of Docker
● Application environment
– Dev, Test, Prod...
● Run, start, stop, move, delete
Other basics
● Dockerfile
– Scripted method of building Docker Images automatically
●
Volumes
– Shared data mount amongst containers and host bypassing UnionFS
– Persistence for RO images
● Networking
– Similar capabilities to VMs
– Isolated network stack per container
– Default bridge docker0
● Security
– Similar concerns to VMs
– Intrinsic security provided by host kernel
●
Namespaces (process isolation), cgroups (resource accounting and limiting)
– Less isolation than VM...
Docker Registry
● Scalable server for storing and distributing Docker Images
● Open-source
– Host internally
– https://github.com/docker/distribution
● Free host
– Docker Hub https://hub.docker.com/
● Enterprise product (commercial)
– Host internally
– https://www.docker.com/products/docker-trusted-registry
Docker Machine
● Provisioning tool
● Let's you install and manage Docker Engine on
remote hosts
Docker Swarm
● Native clustering for Docker
● Turns a pool of Docker hosts into a single,
virtual Docker host
● Docker Machine can provision a Docker Swarm
Docker Compose
● A tool for defining and running multi-container
Docker applications
● Use a Compose file to configure your
application and it's components (services)
● Then, use a single command to create and start
your application
Benefits
● Fast, reusable, portable, layered, consistent environments
● Simplify configuration
– Infrastructure-as-Code
● Application isolation
– “Dependency hell” relief
● Server consolidation
– Better resource utilisation
● Low(er) overheads
– No guest OS, better resource sharing
Disadvantages
● Complexity in managing containers
– http://kubernetes.io/
● Less isolation than VMs
– A security flaw (or any flaw) in the host Kernel
affects all containers
● Overheads in changing legacy product
● Overheads in changing developer approach to
problems

More Related Content

What's hot

Backend Master | 3.4.2 Deploy - Docker Introduction
Backend Master | 3.4.2 Deploy - Docker IntroductionBackend Master | 3.4.2 Deploy - Docker Introduction
Backend Master | 3.4.2 Deploy - Docker IntroductionKyunghun Jeon
 
Getting started with docker
Getting started with dockerGetting started with docker
Getting started with dockerShubham Aggarwal
 
Docker - The Linux container
Docker - The  Linux containerDocker - The  Linux container
Docker - The Linux containerBalaji Rajan
 
Containers and docker
Containers and dockerContainers and docker
Containers and dockerSUDIP GHOSH
 
Docker for Professionals: The Practical Guide
Docker for Professionals: The Practical GuideDocker for Professionals: The Practical Guide
Docker for Professionals: The Practical GuidePaddy Lock
 
Windows server and docker
Windows server and dockerWindows server and docker
Windows server and dockergirish goudar
 
Introdution to Docker (theory and hands on) dbCafé - dbTrento
Introdution to Docker (theory and hands on) dbCafé - dbTrentoIntrodution to Docker (theory and hands on) dbCafé - dbTrento
Introdution to Docker (theory and hands on) dbCafé - dbTrentoCristian Consonni
 
Docker-Vancouver Meetup - March 18, 2014 - An Introduction to Docker
Docker-Vancouver Meetup - March 18, 2014 - An Introduction to DockerDocker-Vancouver Meetup - March 18, 2014 - An Introduction to Docker
Docker-Vancouver Meetup - March 18, 2014 - An Introduction to Dockerbacongobbler
 
Docker for testing framework
Docker for testing frameworkDocker for testing framework
Docker for testing frameworkedrone
 
Docker
DockerDocker
DockerNarato
 
Building CLI Applications with Golang
Building CLI Applications with GolangBuilding CLI Applications with Golang
Building CLI Applications with GolangAnshul Patel
 
Docker presentation
Docker presentationDocker presentation
Docker presentationthehoagie
 
Introduction to Dockers and containers
Introduction to Dockers and containers Introduction to Dockers and containers
Introduction to Dockers and containers Sri Padaraj M S
 

What's hot (20)

JOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in ProductionJOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in Production
 
Backend Master | 3.4.2 Deploy - Docker Introduction
Backend Master | 3.4.2 Deploy - Docker IntroductionBackend Master | 3.4.2 Deploy - Docker Introduction
Backend Master | 3.4.2 Deploy - Docker Introduction
 
Getting started with docker
Getting started with dockerGetting started with docker
Getting started with docker
 
Docker quick start
Docker quick startDocker quick start
Docker quick start
 
Docker - The Linux container
Docker - The  Linux containerDocker - The  Linux container
Docker - The Linux container
 
Containers and docker
Containers and dockerContainers and docker
Containers and docker
 
Docker for Professionals: The Practical Guide
Docker for Professionals: The Practical GuideDocker for Professionals: The Practical Guide
Docker for Professionals: The Practical Guide
 
Windows server and docker
Windows server and dockerWindows server and docker
Windows server and docker
 
Introdution to Docker (theory and hands on) dbCafé - dbTrento
Introdution to Docker (theory and hands on) dbCafé - dbTrentoIntrodution to Docker (theory and hands on) dbCafé - dbTrento
Introdution to Docker (theory and hands on) dbCafé - dbTrento
 
Docker
Docker Docker
Docker
 
Docker-Vancouver Meetup - March 18, 2014 - An Introduction to Docker
Docker-Vancouver Meetup - March 18, 2014 - An Introduction to DockerDocker-Vancouver Meetup - March 18, 2014 - An Introduction to Docker
Docker-Vancouver Meetup - March 18, 2014 - An Introduction to Docker
 
Docker for testing framework
Docker for testing frameworkDocker for testing framework
Docker for testing framework
 
Docker
DockerDocker
Docker
 
Building CLI Applications with Golang
Building CLI Applications with GolangBuilding CLI Applications with Golang
Building CLI Applications with Golang
 
Project Moby
Project MobyProject Moby
Project Moby
 
Docker presentation
Docker presentationDocker presentation
Docker presentation
 
Docker
DockerDocker
Docker
 
Docker
DockerDocker
Docker
 
Portainer
PortainerPortainer
Portainer
 
Introduction to Dockers and containers
Introduction to Dockers and containers Introduction to Dockers and containers
Introduction to Dockers and containers
 

Viewers also liked

Проект "Сім'я буде щасливою коли ..."
Проект "Сім'я буде щасливою коли ..."Проект "Сім'я буде щасливою коли ..."
Проект "Сім'я буде щасливою коли ..."Tonya Rakovskaya
 
Gagan (13) assignment_2_mo_s
Gagan (13) assignment_2_mo_sGagan (13) assignment_2_mo_s
Gagan (13) assignment_2_mo_sGagan Pradeep
 
ประวัติส่วนตัว
ประวัติส่วนตัวประวัติส่วนตัว
ประวัติส่วนตัวDin Dan Neverdie
 
Delighting mobile customers with content for apps, videos, and a social media...
Delighting mobile customers with content for apps, videos, and a social media...Delighting mobile customers with content for apps, videos, and a social media...
Delighting mobile customers with content for apps, videos, and a social media...Marta Rauch
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance managementSQALab
 
Owning Web Performance with PhantomJS 2 - Fluent 2016
Owning Web Performance with PhantomJS 2 - Fluent 2016Owning Web Performance with PhantomJS 2 - Fluent 2016
Owning Web Performance with PhantomJS 2 - Fluent 2016Wesley Hales
 
Reactive programming at scale
Reactive programming at scale Reactive programming at scale
Reactive programming at scale John McClean
 
PostgreSQL и JDBC: выжимаем все соки
PostgreSQL и JDBC: выжимаем все сокиPostgreSQL и JDBC: выжимаем все соки
PostgreSQL и JDBC: выжимаем все сокиVladimir Sitnikov
 
New Security Framework in Apache Geode
New Security Framework in Apache GeodeNew Security Framework in Apache Geode
New Security Framework in Apache GeodePivotalOpenSourceHub
 
Jak zakodzić i się nie narobić a nawet zarobić na tworzeniu oprogramowania?
Jak zakodzić i się nie narobić a nawet zarobić na tworzeniu oprogramowania?Jak zakodzić i się nie narobić a nawet zarobić na tworzeniu oprogramowania?
Jak zakodzić i się nie narobić a nawet zarobić na tworzeniu oprogramowania?3camp
 
Leveraging your hadoop cluster better - running performant code at scale
Leveraging your hadoop cluster better - running performant code at scaleLeveraging your hadoop cluster better - running performant code at scale
Leveraging your hadoop cluster better - running performant code at scaleMichael Kopp
 
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.3camp
 
Augmented Reality and Google Glass
Augmented Reality and Google GlassAugmented Reality and Google Glass
Augmented Reality and Google GlassMarta Rauch
 
Развитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три годаРазвитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три годаSQALab
 
Building a testing team
Building a testing teamBuilding a testing team
Building a testing teamSQALab
 
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache MesosCI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache MesosCarlos Sanchez
 
Introduction to Shield and kibana
Introduction to Shield and kibanaIntroduction to Shield and kibana
Introduction to Shield and kibanaKnoldus Inc.
 

Viewers also liked (20)

Проект "Сім'я буде щасливою коли ..."
Проект "Сім'я буде щасливою коли ..."Проект "Сім'я буде щасливою коли ..."
Проект "Сім'я буде щасливою коли ..."
 
Gagan (13) assignment_2_mo_s
Gagan (13) assignment_2_mo_sGagan (13) assignment_2_mo_s
Gagan (13) assignment_2_mo_s
 
ประวัติส่วนตัว
ประวัติส่วนตัวประวัติส่วนตัว
ประวัติส่วนตัว
 
Delighting mobile customers with content for apps, videos, and a social media...
Delighting mobile customers with content for apps, videos, and a social media...Delighting mobile customers with content for apps, videos, and a social media...
Delighting mobile customers with content for apps, videos, and a social media...
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance management
 
Owning Web Performance with PhantomJS 2 - Fluent 2016
Owning Web Performance with PhantomJS 2 - Fluent 2016Owning Web Performance with PhantomJS 2 - Fluent 2016
Owning Web Performance with PhantomJS 2 - Fluent 2016
 
Reactive programming at scale
Reactive programming at scale Reactive programming at scale
Reactive programming at scale
 
PostgreSQL и JDBC: выжимаем все соки
PostgreSQL и JDBC: выжимаем все сокиPostgreSQL и JDBC: выжимаем все соки
PostgreSQL и JDBC: выжимаем все соки
 
New Security Framework in Apache Geode
New Security Framework in Apache GeodeNew Security Framework in Apache Geode
New Security Framework in Apache Geode
 
Jak zakodzić i się nie narobić a nawet zarobić na tworzeniu oprogramowania?
Jak zakodzić i się nie narobić a nawet zarobić na tworzeniu oprogramowania?Jak zakodzić i się nie narobić a nawet zarobić na tworzeniu oprogramowania?
Jak zakodzić i się nie narobić a nawet zarobić na tworzeniu oprogramowania?
 
Leveraging your hadoop cluster better - running performant code at scale
Leveraging your hadoop cluster better - running performant code at scaleLeveraging your hadoop cluster better - running performant code at scale
Leveraging your hadoop cluster better - running performant code at scale
 
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
 
Designing rest with raml part2
Designing rest with raml part2Designing rest with raml part2
Designing rest with raml part2
 
Jenkins Best Practices
Jenkins Best PracticesJenkins Best Practices
Jenkins Best Practices
 
Augmented Reality and Google Glass
Augmented Reality and Google GlassAugmented Reality and Google Glass
Augmented Reality and Google Glass
 
Развитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три годаРазвитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три года
 
Mule velocity
Mule velocityMule velocity
Mule velocity
 
Building a testing team
Building a testing teamBuilding a testing team
Building a testing team
 
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache MesosCI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
 
Introduction to Shield and kibana
Introduction to Shield and kibanaIntroduction to Shield and kibana
Introduction to Shield and kibana
 

Similar to An Introduction To Docker

Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power SystemsCesar Maciel
 
Containers: from development to production at DevNation 2015
Containers: from development to production at DevNation 2015Containers: from development to production at DevNation 2015
Containers: from development to production at DevNation 2015Jérôme Petazzoni
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deploymentjavaonfly
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainAjeet Singh Raina
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGAjeet Singh Raina
 
Docker Fundamentals
Docker FundamentalsDocker Fundamentals
Docker FundamentalsAnshul Patel
 
Introduction to Dockers.pptx
Introduction to Dockers.pptxIntroduction to Dockers.pptx
Introduction to Dockers.pptxHassanRaza40719
 
Introduction to Containers & Diving a little deeper into the benefits of Con...
 Introduction to Containers & Diving a little deeper into the benefits of Con... Introduction to Containers & Diving a little deeper into the benefits of Con...
Introduction to Containers & Diving a little deeper into the benefits of Con...Synergetics Learning and Cloud Consulting
 
Introduction to Docker Container
Introduction to Docker ContainerIntroduction to Docker Container
Introduction to Docker ContainerSamsul Ma'arif
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Simon Storm
 
containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )Imo Inyang
 
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
 
Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldzekeLabs Technologies
 

Similar to An Introduction To Docker (20)

Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
 
Containers: from development to production at DevNation 2015
Containers: from development to production at DevNation 2015Containers: from development to production at DevNation 2015
Containers: from development to production at DevNation 2015
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
Docker+java
Docker+javaDocker+java
Docker+java
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
 
Docker
DockerDocker
Docker
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
What is Docker?
What is Docker?What is Docker?
What is Docker?
 
Docker slides
Docker slidesDocker slides
Docker slides
 
Docker Fundamentals
Docker FundamentalsDocker Fundamentals
Docker Fundamentals
 
Docker
DockerDocker
Docker
 
Introduction to Dockers.pptx
Introduction to Dockers.pptxIntroduction to Dockers.pptx
Introduction to Dockers.pptx
 
Introduction to Containers & Diving a little deeper into the benefits of Con...
 Introduction to Containers & Diving a little deeper into the benefits of Con... Introduction to Containers & Diving a little deeper into the benefits of Con...
Introduction to Containers & Diving a little deeper into the benefits of Con...
 
Introduction to Docker Container
Introduction to Docker ContainerIntroduction to Docker Container
Introduction to Docker Container
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
 
containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )
 
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
 
Docker Overview
Docker OverviewDocker Overview
Docker Overview
 
Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container world
 

Recently uploaded

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Recently uploaded (20)

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

An Introduction To Docker

  • 1.
  • 2. What is it? ● It's everything it's slogan says – “Build, ship, and Run Any App, Anywhere” ● It's a container platform – OS-level virtualisation (LXC) – Multiple isolated Linux (and Windows) systems on one host using that one host's Linux kernel ● Standardised unit for software development – Portable way of deploying applications
  • 3. How is this different from VMs? ● Historically application developers ship a VM per application/service (micro-service architecture) – This requires a VM guest OS per application with associated resourcing ● Using Docker, all containers share host kernel with all other containers – Isolated process in user-space ● Docker Engine instead of Hypervisor
  • 7. Docker Image ● The build component of Docker ● e.g. “Ubuntu running Apache” ● Read only template ● Used to build up Docker containers – Layered architecture i.e. UnionFS ● Download and use Images others have created ● Create your own Image using your container
  • 8. Docker Container ● The run component of Docker ● Application environment – Dev, Test, Prod... ● Run, start, stop, move, delete
  • 9. Other basics ● Dockerfile – Scripted method of building Docker Images automatically ● Volumes – Shared data mount amongst containers and host bypassing UnionFS – Persistence for RO images ● Networking – Similar capabilities to VMs – Isolated network stack per container – Default bridge docker0 ● Security – Similar concerns to VMs – Intrinsic security provided by host kernel ● Namespaces (process isolation), cgroups (resource accounting and limiting) – Less isolation than VM...
  • 10. Docker Registry ● Scalable server for storing and distributing Docker Images ● Open-source – Host internally – https://github.com/docker/distribution ● Free host – Docker Hub https://hub.docker.com/ ● Enterprise product (commercial) – Host internally – https://www.docker.com/products/docker-trusted-registry
  • 11. Docker Machine ● Provisioning tool ● Let's you install and manage Docker Engine on remote hosts
  • 12. Docker Swarm ● Native clustering for Docker ● Turns a pool of Docker hosts into a single, virtual Docker host ● Docker Machine can provision a Docker Swarm
  • 13. Docker Compose ● A tool for defining and running multi-container Docker applications ● Use a Compose file to configure your application and it's components (services) ● Then, use a single command to create and start your application
  • 14. Benefits ● Fast, reusable, portable, layered, consistent environments ● Simplify configuration – Infrastructure-as-Code ● Application isolation – “Dependency hell” relief ● Server consolidation – Better resource utilisation ● Low(er) overheads – No guest OS, better resource sharing
  • 15. Disadvantages ● Complexity in managing containers – http://kubernetes.io/ ● Less isolation than VMs – A security flaw (or any flaw) in the host Kernel affects all containers ● Overheads in changing legacy product ● Overheads in changing developer approach to problems

Editor's Notes

  1. Similar resource allocation and isolation benefits A different architectural approach