SlideShare a Scribd company logo
Walid Ashraf
Researcher , Software Developer, Instructor
about.me/WalidAshraf
INTRODUCTION TO DOCKER
Docker - Walid Ashraf
Table of Contents
What are Containers?
What is Docker?
Docker Architecture
A small journey under the hood
Docker Eco System
Docker - Walid Ashraf
What is Virtualization ?
Virtualization refers to the act of creating a virtual (rather than
actual) version of something, including virtual computer
hardware platforms, operating systems, storage devices, and
computer network resources - Wikipedia.
It’s all about abstraction.
Docker - Walid Ashraf
What are Containers?
Container virtualization or Operating System-level virtualization where the kernel
of an operating system allows for multiple isolated user space instances, instead of
just one – Wikipedia.
Its all about sandboxing.
Containers are also know as lightweight Virtualization.
Docker - Walid Ashraf
Docker - Walid Ashraf
What is Docker?
Docker - Walid Ashraf
What is Docker?
Docker is an open platform for developing, shipping, and running
applications.
Docker combines a lightweight container virtualization platform with
workflows and tooling that help you manage and deploy your applications.
With Docker you can separate your applications from your infrastructure
AND treat your infrastructure like a managed application.
Docker helps you ship code faster, test faster, deploy faster, and shorten
the cycle between writing code and running code.
Docker - Walid Ashraf
Docker’s architecture?
Docker - Walid Ashraf
Docker Client and Server
Docker contains a server or daemon, which, in
turn, does all the work.
Docker ships with a command line client, Docker,
as well as a full RESTful API.
You can run the Docker daemon and client on the
same host or connect your local Docker client to
a remote daemon running on another host.
Docker - Walid Ashraf
Docker Images
You can consider images to be the "source code" for
your containers.
They are a layered format, using Union file systems
(AUFS, BTRFS), that are built step-by-step using a series
of instructions.
• Add a file.
• Run a command.
• Open a port.
They are highly portable and can be shared, stored, and
updated.
Docker - Walid Ashraf
Registries
Docker stores the images you build in registries.
There are two types of registries: public and private.
• The Docker Hub also contains, at last count, over 400K image that other people have built and shared.
• Want a Docker image for an Nginx web server, the Asterisk open source PABX system, or a MySQL
database? All of these are available, along with a whole lot more.
• You can also store images that you want to keep private on the Docker Hub.
• These images might include source code or other proprietary information you want to keep secure or
only share with other members of your team or organization.
Docker, Inc., operates the public registry for images, called the Docker Hub.
Also you can create you own Registry behind the fire wall.
Docker - Walid Ashraf
A SMALL
JOURNEY UNDER
THE HOOD
Docker - Walid Ashraf
What happens when you start a container
Pulls the image (if its not there)
Allocates a filesystem and mounts a read-write layer
Start the container !!!
Allocates a network / bridge interface
Executes a process that you specify: Runs your application.
Docker - Walid Ashraf
Docker Engine and OS
Docker - Walid Ashraf
kernel namespaces
A namespace are the actual virtualization component of containers where it wraps
a resource and create a fixed and abstracted system view of the underlying OS.
There are 6 Name Spaces:
• PID namespace provides isolation for the allocation of process identifiers (PIDs)
• Network namespace isolates the network interface controllers (physical or virtual), iptables firewall
rules, routing tables etc.
• "UTS" namespace allows changing the hostname.
• Mount namespace allows creating a different file system layout, or making certain mount points read-
only.
• IPC namespace isolates the SystemV inter-process communication between namespaces.
• User namespace isolates the user IDs between namespaces.
Docker - Walid Ashraf
Control Groups (Cgroups)
Resource
limitation
Groups can be set to not exceed a configured memory limit, which also includes the
file system cache.
Prioritization Some groups may get a larger share of CPU utilization or disk I/O throughput.
Accounting Measures how much resources certain systems use, which may be used, for example,
for billing purposes.
Control Freezing the groups of processes, their checkpointing and restarting
Docker - Walid Ashraf
Capabilities
It configures the set of operations to be executed
CAP_CHOWN Make arbitrary changes to file UIDs and GIDs
Also it configures the allowed mounted devices
Docker - Walid Ashraf
THE DOCKER ECO
SYSTEM
Docker - Walid Ashraf
Docker Now
Docker - Walid Ashraf
The Docker Eco System
Registry(Docker Hub)
Private Version (Docker Trusted Registry)
Clustering (Docker Swarm…)
Orchestration (Docker Compose…)
Docker Cloud
Universal Control Plane
https://www.mindmeister.com/fr/389671722/open-container-ecosystem-formerly-
docker-ecosystem
Docker - Walid Ashraf
The Docker Quote
Develop, Ship and
Run Any
Application,
Anywhere 
Docker - Walid Ashraf
Container, The real Write Once run Every
Where
Docker - Walid Ashraf23

More Related Content

What's hot

Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Luong Vo
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Peng Xiao
 
Docker introduction & benefits
Docker introduction & benefitsDocker introduction & benefits
Docker introduction & benefits
Amit Manwade
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)
Gourav Varma
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
presentation on Docker
presentation on Dockerpresentation on Docker
presentation on Docker
Virendra Ruhela
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Pubudu Jayawardana
 
Why Docker
Why DockerWhy Docker
Why Docker
dotCloud
 
Docker
DockerDocker
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
POSSCON
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Hero
fazalraja
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
Ajeet Singh Raina
 
Intro To Docker
Intro To DockerIntro To Docker
Intro To Docker
Jessica Lucci
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
Instruqt
 
Docker intro
Docker introDocker intro
Docker intro
Oleg Z
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
dotCloud
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Jeffrey Ellin
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
Damian T. Gordon
 
Docker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDocker 101 - High level introduction to docker
Docker 101 - High level introduction to docker
Dr Ganesh Iyer
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Simplilearn
 

What's hot (20)

Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker introduction & benefits
Docker introduction & benefitsDocker introduction & benefits
Docker introduction & benefits
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
presentation on Docker
presentation on Dockerpresentation on Docker
presentation on Docker
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Why Docker
Why DockerWhy Docker
Why Docker
 
Docker
DockerDocker
Docker
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Hero
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
Intro To Docker
Intro To DockerIntro To Docker
Intro To Docker
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker intro
Docker introDocker intro
Docker intro
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
 
Docker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDocker 101 - High level introduction to docker
Docker 101 - High level introduction to docker
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
 

Viewers also liked

CSS Layouting #1 : Display
CSS Layouting #1 : DisplayCSS Layouting #1 : Display
CSS Layouting #1 : Display
Sandhika Galih
 
HTML Dasar : #10 Form
HTML Dasar : #10 FormHTML Dasar : #10 Form
HTML Dasar : #10 Form
Sandhika Galih
 
HTML Dasar : #8 Image
HTML Dasar : #8 ImageHTML Dasar : #8 Image
HTML Dasar : #8 Image
Sandhika Galih
 
CSS Layouting #5 : Position
CSS Layouting #5 : PositionCSS Layouting #5 : Position
CSS Layouting #5 : Position
Sandhika Galih
 
CSS Layouting #2 : Dimensi & Overflow
CSS Layouting #2 : Dimensi & OverflowCSS Layouting #2 : Dimensi & Overflow
CSS Layouting #2 : Dimensi & Overflow
Sandhika Galih
 
HTML Dasar : #6 List
HTML Dasar : #6 ListHTML Dasar : #6 List
HTML Dasar : #6 List
Sandhika Galih
 
HTML Dasar : #9 Tabel
HTML Dasar : #9 TabelHTML Dasar : #9 Tabel
HTML Dasar : #9 Tabel
Sandhika Galih
 
CSS Dasar #2 : Anatomy CSS
CSS Dasar #2 : Anatomy CSSCSS Dasar #2 : Anatomy CSS
CSS Dasar #2 : Anatomy CSS
Sandhika Galih
 
CSS Dasar #3 : Penempatan CSS
CSS Dasar #3 : Penempatan CSSCSS Dasar #3 : Penempatan CSS
CSS Dasar #3 : Penempatan CSS
Sandhika Galih
 
HTML Dasar : #7 Hyperlink
HTML Dasar : #7 HyperlinkHTML Dasar : #7 Hyperlink
HTML Dasar : #7 Hyperlink
Sandhika Galih
 
CSS Dasar #4 : Font Styling
CSS Dasar #4 : Font StylingCSS Dasar #4 : Font Styling
CSS Dasar #4 : Font Styling
Sandhika Galih
 
CSS Layouting #3 : Box Model
CSS Layouting #3 : Box ModelCSS Layouting #3 : Box Model
CSS Layouting #3 : Box Model
Sandhika Galih
 
CSS Layouting #4 : Float
CSS Layouting #4 : FloatCSS Layouting #4 : Float
CSS Layouting #4 : Float
Sandhika Galih
 
CSS Box Model
CSS Box ModelCSS Box Model
CSS Box Model
Gerson Abesamis
 
Lab #2: Introduction to Javascript
Lab #2: Introduction to JavascriptLab #2: Introduction to Javascript
Lab #2: Introduction to Javascript
Walid Ashraf
 
Ceramic
CeramicCeramic

Viewers also liked (16)

CSS Layouting #1 : Display
CSS Layouting #1 : DisplayCSS Layouting #1 : Display
CSS Layouting #1 : Display
 
HTML Dasar : #10 Form
HTML Dasar : #10 FormHTML Dasar : #10 Form
HTML Dasar : #10 Form
 
HTML Dasar : #8 Image
HTML Dasar : #8 ImageHTML Dasar : #8 Image
HTML Dasar : #8 Image
 
CSS Layouting #5 : Position
CSS Layouting #5 : PositionCSS Layouting #5 : Position
CSS Layouting #5 : Position
 
CSS Layouting #2 : Dimensi & Overflow
CSS Layouting #2 : Dimensi & OverflowCSS Layouting #2 : Dimensi & Overflow
CSS Layouting #2 : Dimensi & Overflow
 
HTML Dasar : #6 List
HTML Dasar : #6 ListHTML Dasar : #6 List
HTML Dasar : #6 List
 
HTML Dasar : #9 Tabel
HTML Dasar : #9 TabelHTML Dasar : #9 Tabel
HTML Dasar : #9 Tabel
 
CSS Dasar #2 : Anatomy CSS
CSS Dasar #2 : Anatomy CSSCSS Dasar #2 : Anatomy CSS
CSS Dasar #2 : Anatomy CSS
 
CSS Dasar #3 : Penempatan CSS
CSS Dasar #3 : Penempatan CSSCSS Dasar #3 : Penempatan CSS
CSS Dasar #3 : Penempatan CSS
 
HTML Dasar : #7 Hyperlink
HTML Dasar : #7 HyperlinkHTML Dasar : #7 Hyperlink
HTML Dasar : #7 Hyperlink
 
CSS Dasar #4 : Font Styling
CSS Dasar #4 : Font StylingCSS Dasar #4 : Font Styling
CSS Dasar #4 : Font Styling
 
CSS Layouting #3 : Box Model
CSS Layouting #3 : Box ModelCSS Layouting #3 : Box Model
CSS Layouting #3 : Box Model
 
CSS Layouting #4 : Float
CSS Layouting #4 : FloatCSS Layouting #4 : Float
CSS Layouting #4 : Float
 
CSS Box Model
CSS Box ModelCSS Box Model
CSS Box Model
 
Lab #2: Introduction to Javascript
Lab #2: Introduction to JavascriptLab #2: Introduction to Javascript
Lab #2: Introduction to Javascript
 
Ceramic
CeramicCeramic
Ceramic
 

Similar to Introduction to docker

Docker
DockerDocker
SW Docker Security
SW Docker SecuritySW Docker Security
SW Docker Security
Stephane Woillez
 
Understanding the container landscape and it associated projects
Understanding the container landscape and it associated projectsUnderstanding the container landscape and it associated projects
Understanding the container landscape and it associated projects
Anthony Chow
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platform
nirajrules
 
Docker Dojo
Docker DojoDocker Dojo
Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015
Filipe Miranda
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
Vinay Rao
 
Introduction to docker security
Introduction to docker securityIntroduction to docker security
Introduction to docker security
Walid Ashraf
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and docker
Fabio Fumarola
 
A Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container PlatformsA Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container Platforms
Salman Baset
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
Fabio Fumarola
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
Fabio Fumarola
 
Docker
Docker Docker
Docker training
Docker trainingDocker training
Docker training
Kiran Kumar
 
Docker y azure container service
Docker y azure container serviceDocker y azure container service
Docker y azure container service
Fernando Mejía
 
paper
paperpaper
A to Z of Docker
A to Z of DockerA to Z of Docker
A to Z of Docker
Swapnil Jain
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
Aniekan Akpaffiong
 
Docker DANS workshop
Docker DANS workshopDocker DANS workshop
Docker DANS workshop
vty
 
Deploying a 3 tier application using docker
Deploying a 3 tier application using dockerDeploying a 3 tier application using docker
Deploying a 3 tier application using docker
parth2094
 

Similar to Introduction to docker (20)

Docker
DockerDocker
Docker
 
SW Docker Security
SW Docker SecuritySW Docker Security
SW Docker Security
 
Understanding the container landscape and it associated projects
Understanding the container landscape and it associated projectsUnderstanding the container landscape and it associated projects
Understanding the container landscape and it associated projects
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platform
 
Docker Dojo
Docker DojoDocker Dojo
Docker Dojo
 
Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
 
Introduction to docker security
Introduction to docker securityIntroduction to docker security
Introduction to docker security
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and docker
 
A Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container PlatformsA Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container Platforms
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
Docker
Docker Docker
Docker
 
Docker training
Docker trainingDocker training
Docker training
 
Docker y azure container service
Docker y azure container serviceDocker y azure container service
Docker y azure container service
 
paper
paperpaper
paper
 
A to Z of Docker
A to Z of DockerA to Z of Docker
A to Z of Docker
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
 
Docker DANS workshop
Docker DANS workshopDocker DANS workshop
Docker DANS workshop
 
Deploying a 3 tier application using docker
Deploying a 3 tier application using dockerDeploying a 3 tier application using docker
Deploying a 3 tier application using docker
 

Recently uploaded

HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 

Recently uploaded (20)

HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 

Introduction to docker

  • 1. Walid Ashraf Researcher , Software Developer, Instructor about.me/WalidAshraf INTRODUCTION TO DOCKER
  • 2. Docker - Walid Ashraf Table of Contents What are Containers? What is Docker? Docker Architecture A small journey under the hood Docker Eco System
  • 3. Docker - Walid Ashraf What is Virtualization ? Virtualization refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms, operating systems, storage devices, and computer network resources - Wikipedia. It’s all about abstraction.
  • 4. Docker - Walid Ashraf What are Containers? Container virtualization or Operating System-level virtualization where the kernel of an operating system allows for multiple isolated user space instances, instead of just one – Wikipedia. Its all about sandboxing. Containers are also know as lightweight Virtualization.
  • 5. Docker - Walid Ashraf
  • 6. Docker - Walid Ashraf What is Docker?
  • 7. Docker - Walid Ashraf What is Docker? Docker is an open platform for developing, shipping, and running applications. Docker combines a lightweight container virtualization platform with workflows and tooling that help you manage and deploy your applications. With Docker you can separate your applications from your infrastructure AND treat your infrastructure like a managed application. Docker helps you ship code faster, test faster, deploy faster, and shorten the cycle between writing code and running code.
  • 8. Docker - Walid Ashraf Docker’s architecture?
  • 9. Docker - Walid Ashraf Docker Client and Server Docker contains a server or daemon, which, in turn, does all the work. Docker ships with a command line client, Docker, as well as a full RESTful API. You can run the Docker daemon and client on the same host or connect your local Docker client to a remote daemon running on another host.
  • 10. Docker - Walid Ashraf Docker Images You can consider images to be the "source code" for your containers. They are a layered format, using Union file systems (AUFS, BTRFS), that are built step-by-step using a series of instructions. • Add a file. • Run a command. • Open a port. They are highly portable and can be shared, stored, and updated.
  • 11. Docker - Walid Ashraf Registries Docker stores the images you build in registries. There are two types of registries: public and private. • The Docker Hub also contains, at last count, over 400K image that other people have built and shared. • Want a Docker image for an Nginx web server, the Asterisk open source PABX system, or a MySQL database? All of these are available, along with a whole lot more. • You can also store images that you want to keep private on the Docker Hub. • These images might include source code or other proprietary information you want to keep secure or only share with other members of your team or organization. Docker, Inc., operates the public registry for images, called the Docker Hub. Also you can create you own Registry behind the fire wall.
  • 12. Docker - Walid Ashraf A SMALL JOURNEY UNDER THE HOOD
  • 13. Docker - Walid Ashraf What happens when you start a container Pulls the image (if its not there) Allocates a filesystem and mounts a read-write layer Start the container !!! Allocates a network / bridge interface Executes a process that you specify: Runs your application.
  • 14. Docker - Walid Ashraf Docker Engine and OS
  • 15. Docker - Walid Ashraf kernel namespaces A namespace are the actual virtualization component of containers where it wraps a resource and create a fixed and abstracted system view of the underlying OS. There are 6 Name Spaces: • PID namespace provides isolation for the allocation of process identifiers (PIDs) • Network namespace isolates the network interface controllers (physical or virtual), iptables firewall rules, routing tables etc. • "UTS" namespace allows changing the hostname. • Mount namespace allows creating a different file system layout, or making certain mount points read- only. • IPC namespace isolates the SystemV inter-process communication between namespaces. • User namespace isolates the user IDs between namespaces.
  • 16. Docker - Walid Ashraf Control Groups (Cgroups) Resource limitation Groups can be set to not exceed a configured memory limit, which also includes the file system cache. Prioritization Some groups may get a larger share of CPU utilization or disk I/O throughput. Accounting Measures how much resources certain systems use, which may be used, for example, for billing purposes. Control Freezing the groups of processes, their checkpointing and restarting
  • 17. Docker - Walid Ashraf Capabilities It configures the set of operations to be executed CAP_CHOWN Make arbitrary changes to file UIDs and GIDs Also it configures the allowed mounted devices
  • 18. Docker - Walid Ashraf THE DOCKER ECO SYSTEM
  • 19. Docker - Walid Ashraf Docker Now
  • 20. Docker - Walid Ashraf The Docker Eco System Registry(Docker Hub) Private Version (Docker Trusted Registry) Clustering (Docker Swarm…) Orchestration (Docker Compose…) Docker Cloud Universal Control Plane https://www.mindmeister.com/fr/389671722/open-container-ecosystem-formerly- docker-ecosystem
  • 21. Docker - Walid Ashraf The Docker Quote Develop, Ship and Run Any Application, Anywhere 
  • 22. Docker - Walid Ashraf Container, The real Write Once run Every Where
  • 23. Docker - Walid Ashraf23

Editor's Notes

  1. https://medium.com/microscaling-systems/how-many-public-images-are-there-on-docker-hub-bcdd2f7d6100
  2. https://docs.docker.com/engine/reference/run/#/runtime-privilege-and-linux-capabilities