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

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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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
 
🐬 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
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Recently uploaded (20)

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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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?
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

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