SlideShare a Scribd company logo
Docker Container
Introduction
Personal Profile:
●
Payam Naderi
●
Fullstack Developer at Innfinision Cloud Solutions
●
Payam.Naderi@innfinision.net
●
Innfinision.net
innfinision Cloud Solutions:
●
Providing Cloud, Virtualization and Data Center Solutions
●
Developing Software for Cloud Environments
●
Providing Services to Telecom, Education, Broadcasting & Health Fields
●
Supporting OpenStack Foundation as the First Iranian Company
●
First Supporter of IRAN OpenStack Community
Docker Container Introduction innfinision.net
●
Preface
●
Linux Containers Preface
●
Linux Container Concepts
●
LXC Copy On Write Filesystem
●
Docker Preface
●
Introduction Container Image
●
Why Docker
●
Docker Architecture
Agenda:
●
Docker Architect, How Working
●
Underlying Technology
●
Immutable infrastructure with Docker
Preface
innfinision.netDocker Container Introduction
Virtualization / Containerization
innfinision.net
How changed the data center and cloud forever
● More Agile
●
Manageable
●
Cloud Friendly
●
Application Friendly
The Containerization technology is seeing resurgence with Docker.
Docker has revived the interest of the technology community in
containers.
Docker Container Introduction
Fundamental Containerization Support
innfinision.net
Containerization was actually included in the Linux 2.6.24 called LXC.
Linux Container (LXC)
● Provide System-Level Virtualization
●
Allow Single Host to Operate Multiple Isolated Linux Instances.
●
Based on Linux cGroup
LXC Make Complete App. Isolation
●
Linux cGroup Offer Complete App Isolation include Process, Memory, IO
●
Namespaces Offer Filesystem, UserID, NetworkID, GroupID ...
Docker Container Introduction
Docker Uses Container Technology
innfinision.net
Docker uses the container technology but creates a layer above the LXC.
Use Containers for
● Packaging
●
Deployment
●
Migration of Workload to different hosts.
Docker is well suited for Clouds
●
Reducing the datacenter footprint and using the host’s resources
to their maximum using the Docker and LXC technology.
●
Ease of migration and fast scale out of containers.
Docker Container Introduction
Linux Containers Preface
innfinision.netDocker Container Introduction
Virtualization OS
innfinision.net
Refers to the creation of virtual machines which have an
independent operating systems but the execution of software
running on the virtual machine is separated from the underlying
hardware resources.
Docker Container Introduction
Virtualization OS
innfinision.net
Naming VM. Elements
● Host Machine: The actual machine that runs the virtualization software
●
Guest Machine: The virtual machine running on top of the virtualization
software.
●
Virtual Machine Manager or a Hypervisor: The software that provides
virtualization capabilities and abstracts the hardware.
Docker Container Introduction
Virtualization Vs Containerization
innfinision.net
Linux containers have a different approach than virtualization; you
may call it an OS level virtualization.
Container Virtualization
● Fully Isolated OS on Same Host Kernel
● Containers isolate the guest but do not virtualize the hardware
● Limited to a single operating system, thus you cannot run Linux and
windows together
● Work on the Concept of Process Level Virtualization
Docker Container Introduction
innfinision.netDocker Container Introduction
Linux Container
innfinision.netDocker Container Introduction
Linux Container
innfinision.net
Docker works on a technology called
Linux containers.
There are two main concepts
involved within Linux Containers,
Namespaces
Cgroups (Control groups.)
Docker Container Introduction
Namespaces
innfinision.net
●
Offer process level isolation for Linux resources.
●
Ensure that each container sees only its own environment and
doesn’t affect or get access to processes running inside other
containers.
Docker Container Introduction
Different Kinds of Namespaces
innfinision.net
● PID: Considered as most important isolation factor in containers.
● NET: Controlling the networks and net interfaces.
● MNT: Isolates the file system mount points.
● UTS: Isolation for hostname and NIS domain name.
● USER: Isolates the user and group ID namespaces.
Docker Container Introduction
cGroups (control groups)
innfinision.net
cGroups (control groups) is a feature of Linux kernel for accounting,
limiting and isolation of resources.
It provides means to restrict resources that a process can use.
Linux container is basically a process or a set of processes that can
run in an isolated environment on the host system.
Docker Container Introduction
Copy On Write File System
innfinision.netDocker Container Introduction
Copy On Write Filesystem
innfinision.net
●
Never overwrites the live data
●
It does all the updating using the existing unused blocks in the disk
using copy on write functionality
●
The new data will be live only when all the data has been updated
to the disk
Docker Container Introduction
Copy On Write Filesystem
innfinision.netDocker Container Introduction
innfinision.net
●
Resources are handles using Copy on Write (COW) when same data is
utilized by multiple tasks.
●
Is a read-only, point-in-time copy of the file system state
●
Storage snapshot is created using predesignated space allocated to it
●
Whenever a snapshot is created, the metadata associated with the
original data is stored as a copy
●
Snapshot does not create a physical copy and creation of a snapshot is
nearly immediate
BTRFS
Docker Container Introduction
Advantages of copy-on-write technique
innfinision.net
●
Space efficiency is main
advantage
●
More performance but
impacted by cow technique
Docker Container Introduction
Docker ?
innfinision.netDocker Container Introduction
Docker
innfinision.net
From the Docker web site—Docker is “an open source project to
pack, ship and run any application as a lightweight container.”
Docker platform can be used by developers and system
administrators for developing and shipping applications to different
environments.
Docker Container Introduction
Docker Leverage
innfinision.net
● LXC (Linux Containers)
● Docker is not limited to LXC but can use any other container
technology like libcontainer
● Copy-on-Write file system
● “Plain Text” configuration
● Containers sit on top of a union file system
Docker Container Introduction
Introduction Container Image
innfinision.netDocker Container Introduction
Container Image
innfinision.net
A container is started from an image, which may be locally created,
cached locally, or downloaded from a registry.
Docker Container Introduction
Create Aplication Packages for Containers
innfinision.net
● Manual builds
A manual build starts by launching a container with a base operating
system image. Normal process for installation of an application on the
operating system is performed.
● Docker File
This method is more scripted and automated for construction of a
Docker Container.
Docker Container Introduction
Why to use Docker
innfinision.netDocker Container Introduction
Why to use Docker
innfinision.net
● Portable Deployments
Can be deployed to various environments without making any
changes to the container
● Fast application delivery
● Scale and deploy with ease
Scaling up and down containers is blazingly fast
● Higher workloads with greater density
More container applications can be deployed on a host when
compared to virtual machines
Docker Container Introduction
Docker Architecture
innfinision.netDocker Container Introduction
Docker Architecture
innfinision.net
● Docker has client server architecture. The Docker client instructs the
Docker daemon for all the container specific tasks.
● Docker daemon is carried out through sockets or through REST APIs.
● Docker client and Docker daemon can be on the same host or different
hosts.
Docker Container Introduction
Docker Architecture
innfinision.netDocker Container Introduction
Docker internal components
innfinision.net
● Docker image – base image
An image consists of OS (Ubuntu, CentOS etc.,) and applications
installed on it.
● Docker registry
Docker registry is a repository for Docker images. It can be public or
private.
The public Docker registry maintained by Docker is called Docker hub.
Docker Container Introduction
Docker internal components
innfinision.net
● Docker Container
It is created on top of a Docker image and it is completely isolated.
has its own user space, networking and security settings and holds all
the necessary files and configurations for running an application.
Docker Container Introduction
How Docker Works
innfinision.netDocker Container Introduction
Working of Docker image
innfinision.net
Each Docker image is an association of various layers.These layers
are combined in to a single unit using Uniform file system (AUFS).
AUFS stores every layer as a normal directory, files with AUFS
metadata. This ensures that all the files and directories are unique to
the particular layer.
Docker Container Introduction
Working of Docker image
innfinision.net
An image consists of OS (Ubuntu, centos etc.,) and applications installed on it.
Docker Container Introduction
Working of Docker registry
innfinision.net
Public registry (Docker hub): It contains official Docker images and user
created images.
● Private registry: A registry created by a user for storing private Docker
images in your datacenter.
Docker Container Introduction
How container works
innfinision.net
Container is an execution environment for applications. It contains all
the operating system files, files added by users and metadata.
Container is launched from an image, As the images are in read only
format, when a container is launched, a read/write layer will be added
on top of the image for the container for the applications to run and
make changes to it.
Docker Container Introduction
innfinision.net
How container works
Docker Container Introduction
Simple Command To Build Docker
Container
innfinision.netDocker Container Introduction
innfinision.net
● Docker checks the specified Docker image If it is present locally,
Docker will use that image for creating a container. If not, it will
download the image from the registry (based on the Docker host
configuration) on the host.
● The local or pulled image will be used for creating a new container.
● Once the image is set, Docker will create a read/write file system over
the image.
Sudo docker run -i -t ubuntu /bin/bash
Docker Container Introduction
innfinision.net
● Then Docker creates the necessary network interfaces for the container
to interact with the host machine.
● Docker checks for available IP address from the pool and allocates one to
the container.
● Then it executes the command specified in the command e.g. /bin/bash shell
● Finally it logs all the input/output and errors for the user to find out the
status of the container.
Sudo docker run -i -t ubuntu /bin/bash
Docker Container Introduction
Payam Naderi
Payam.Naderi@innfinision.net
innfinision.net
Thank you

More Related Content

What's hot (20)

PDF
Introduction to Kubernetes with demo
Opsta
 
PDF
OpenShift Overview
roundman
 
PPTX
Docker intro
Oleg Z
 
PDF
Getting Started with Kubernetes
VMware Tanzu
 
PDF
Introduction to Docker Compose
Ajeet Singh Raina
 
PDF
Introduction to docker
Instruqt
 
PDF
Docker Introduction
Sparkbit
 
PPTX
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Simplilearn
 
PPT
presentation on Docker
Virendra Ruhela
 
PDF
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
PDF
Docker & kubernetes
NexThoughts Technologies
 
PDF
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
Edureka!
 
PDF
Deploy Application on Kubernetes
Opsta
 
PPTX
Introduction to docker
Frederik Mogensen
 
PDF
Dockerfile
Jeffrey Ellin
 
PPTX
Docker introduction for the beginners
Juneyoung Oh
 
PPTX
Docker 101 - Nov 2016
Docker, Inc.
 
PPTX
Docker introduction (1)
Gourav Varma
 
PPTX
01. Kubernetes-PPT.pptx
TamalBanerjee16
 
PPTX
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Simplilearn
 
Introduction to Kubernetes with demo
Opsta
 
OpenShift Overview
roundman
 
Docker intro
Oleg Z
 
Getting Started with Kubernetes
VMware Tanzu
 
Introduction to Docker Compose
Ajeet Singh Raina
 
Introduction to docker
Instruqt
 
Docker Introduction
Sparkbit
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Simplilearn
 
presentation on Docker
Virendra Ruhela
 
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
Docker & kubernetes
NexThoughts Technologies
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
Edureka!
 
Deploy Application on Kubernetes
Opsta
 
Introduction to docker
Frederik Mogensen
 
Dockerfile
Jeffrey Ellin
 
Docker introduction for the beginners
Juneyoung Oh
 
Docker 101 - Nov 2016
Docker, Inc.
 
Docker introduction (1)
Gourav Varma
 
01. Kubernetes-PPT.pptx
TamalBanerjee16
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Simplilearn
 

Similar to Docker Container Introduction (20)

PDF
Cloud Native Computing - Part III - Containers
Linjith Kunnon
 
PPTX
ma-formation-en-Docker-jlklk,nknkjn.pptx
imenhamada17
 
PPTX
Docker intro
NoelMc Grath
 
PDF
Docker
Neeraj Wadhwa
 
PPTX
Docker.pptx
balaji257
 
PPTX
Docker lxc win
rahulmore01
 
PPTX
Module-4_Docker_Training Course outline_
AmanTiwari297384
 
PPSX
Docker Kubernetes Istio
Araf Karsh Hamid
 
PPTX
Dockers and containers basics
Sourabh Saxena
 
PDF
Docker interview Questions-1.pdf
Yogeshwaran R
 
PDF
Introduction to Docker
Aditya Konarde
 
PPTX
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Yogesh Wadile
 
PDF
Introduction to Docker - IndiaOpsUG
Ajeet Singh Raina
 
PDF
A curtain-raiser to the container world Docker & Kubernetes
zekeLabs Technologies
 
PPTX
Containers and Docker
Damian T. Gordon
 
PDF
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ElasTest Project
 
DOCX
Overview of Docker
GauranG Bajpai
 
PDF
Docker Up and Running for Web Developers
Amr Fawzy
 
PDF
Docker up and Running For Web Developers
BADR
 
PPTX
Novices guide to docker
Alec Clews
 
Cloud Native Computing - Part III - Containers
Linjith Kunnon
 
ma-formation-en-Docker-jlklk,nknkjn.pptx
imenhamada17
 
Docker intro
NoelMc Grath
 
Docker.pptx
balaji257
 
Docker lxc win
rahulmore01
 
Module-4_Docker_Training Course outline_
AmanTiwari297384
 
Docker Kubernetes Istio
Araf Karsh Hamid
 
Dockers and containers basics
Sourabh Saxena
 
Docker interview Questions-1.pdf
Yogeshwaran R
 
Introduction to Docker
Aditya Konarde
 
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Yogesh Wadile
 
Introduction to Docker - IndiaOpsUG
Ajeet Singh Raina
 
A curtain-raiser to the container world Docker & Kubernetes
zekeLabs Technologies
 
Containers and Docker
Damian T. Gordon
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ElasTest Project
 
Overview of Docker
GauranG Bajpai
 
Docker Up and Running for Web Developers
Amr Fawzy
 
Docker up and Running For Web Developers
BADR
 
Novices guide to docker
Alec Clews
 
Ad

More from Innfinision Cloud and BigData Solutions (6)

PDF
OpenStack as an Infrastructure
Innfinision Cloud and BigData Solutions
 
PDF
OpenStack Introduction
Innfinision Cloud and BigData Solutions
 
PDF
OpenStack vs VMware vCloud
Innfinision Cloud and BigData Solutions
 
PDF
Large Data Analyze With PyTables
Innfinision Cloud and BigData Solutions
 
OpenStack as an Infrastructure
Innfinision Cloud and BigData Solutions
 
OpenStack vs VMware vCloud
Innfinision Cloud and BigData Solutions
 
Large Data Analyze With PyTables
Innfinision Cloud and BigData Solutions
 
Ad

Recently uploaded (20)

PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
July Patch Tuesday
Ivanti
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 

Docker Container Introduction

  • 2. Personal Profile: ● Payam Naderi ● Fullstack Developer at Innfinision Cloud Solutions ● [email protected] ● Innfinision.net
  • 3. innfinision Cloud Solutions: ● Providing Cloud, Virtualization and Data Center Solutions ● Developing Software for Cloud Environments ● Providing Services to Telecom, Education, Broadcasting & Health Fields ● Supporting OpenStack Foundation as the First Iranian Company ● First Supporter of IRAN OpenStack Community
  • 4. Docker Container Introduction innfinision.net ● Preface ● Linux Containers Preface ● Linux Container Concepts ● LXC Copy On Write Filesystem ● Docker Preface ● Introduction Container Image ● Why Docker ● Docker Architecture Agenda: ● Docker Architect, How Working ● Underlying Technology ● Immutable infrastructure with Docker
  • 6. Virtualization / Containerization innfinision.net How changed the data center and cloud forever ● More Agile ● Manageable ● Cloud Friendly ● Application Friendly The Containerization technology is seeing resurgence with Docker. Docker has revived the interest of the technology community in containers. Docker Container Introduction
  • 7. Fundamental Containerization Support innfinision.net Containerization was actually included in the Linux 2.6.24 called LXC. Linux Container (LXC) ● Provide System-Level Virtualization ● Allow Single Host to Operate Multiple Isolated Linux Instances. ● Based on Linux cGroup LXC Make Complete App. Isolation ● Linux cGroup Offer Complete App Isolation include Process, Memory, IO ● Namespaces Offer Filesystem, UserID, NetworkID, GroupID ... Docker Container Introduction
  • 8. Docker Uses Container Technology innfinision.net Docker uses the container technology but creates a layer above the LXC. Use Containers for ● Packaging ● Deployment ● Migration of Workload to different hosts. Docker is well suited for Clouds ● Reducing the datacenter footprint and using the host’s resources to their maximum using the Docker and LXC technology. ● Ease of migration and fast scale out of containers. Docker Container Introduction
  • 10. Virtualization OS innfinision.net Refers to the creation of virtual machines which have an independent operating systems but the execution of software running on the virtual machine is separated from the underlying hardware resources. Docker Container Introduction
  • 11. Virtualization OS innfinision.net Naming VM. Elements ● Host Machine: The actual machine that runs the virtualization software ● Guest Machine: The virtual machine running on top of the virtualization software. ● Virtual Machine Manager or a Hypervisor: The software that provides virtualization capabilities and abstracts the hardware. Docker Container Introduction
  • 12. Virtualization Vs Containerization innfinision.net Linux containers have a different approach than virtualization; you may call it an OS level virtualization. Container Virtualization ● Fully Isolated OS on Same Host Kernel ● Containers isolate the guest but do not virtualize the hardware ● Limited to a single operating system, thus you cannot run Linux and windows together ● Work on the Concept of Process Level Virtualization Docker Container Introduction
  • 15. Linux Container innfinision.net Docker works on a technology called Linux containers. There are two main concepts involved within Linux Containers, Namespaces Cgroups (Control groups.) Docker Container Introduction
  • 16. Namespaces innfinision.net ● Offer process level isolation for Linux resources. ● Ensure that each container sees only its own environment and doesn’t affect or get access to processes running inside other containers. Docker Container Introduction
  • 17. Different Kinds of Namespaces innfinision.net ● PID: Considered as most important isolation factor in containers. ● NET: Controlling the networks and net interfaces. ● MNT: Isolates the file system mount points. ● UTS: Isolation for hostname and NIS domain name. ● USER: Isolates the user and group ID namespaces. Docker Container Introduction
  • 18. cGroups (control groups) innfinision.net cGroups (control groups) is a feature of Linux kernel for accounting, limiting and isolation of resources. It provides means to restrict resources that a process can use. Linux container is basically a process or a set of processes that can run in an isolated environment on the host system. Docker Container Introduction
  • 19. Copy On Write File System innfinision.netDocker Container Introduction
  • 20. Copy On Write Filesystem innfinision.net ● Never overwrites the live data ● It does all the updating using the existing unused blocks in the disk using copy on write functionality ● The new data will be live only when all the data has been updated to the disk Docker Container Introduction
  • 21. Copy On Write Filesystem innfinision.netDocker Container Introduction
  • 22. innfinision.net ● Resources are handles using Copy on Write (COW) when same data is utilized by multiple tasks. ● Is a read-only, point-in-time copy of the file system state ● Storage snapshot is created using predesignated space allocated to it ● Whenever a snapshot is created, the metadata associated with the original data is stored as a copy ● Snapshot does not create a physical copy and creation of a snapshot is nearly immediate BTRFS Docker Container Introduction
  • 23. Advantages of copy-on-write technique innfinision.net ● Space efficiency is main advantage ● More performance but impacted by cow technique Docker Container Introduction
  • 25. Docker innfinision.net From the Docker web site—Docker is “an open source project to pack, ship and run any application as a lightweight container.” Docker platform can be used by developers and system administrators for developing and shipping applications to different environments. Docker Container Introduction
  • 26. Docker Leverage innfinision.net ● LXC (Linux Containers) ● Docker is not limited to LXC but can use any other container technology like libcontainer ● Copy-on-Write file system ● “Plain Text” configuration ● Containers sit on top of a union file system Docker Container Introduction
  • 28. Container Image innfinision.net A container is started from an image, which may be locally created, cached locally, or downloaded from a registry. Docker Container Introduction
  • 29. Create Aplication Packages for Containers innfinision.net ● Manual builds A manual build starts by launching a container with a base operating system image. Normal process for installation of an application on the operating system is performed. ● Docker File This method is more scripted and automated for construction of a Docker Container. Docker Container Introduction
  • 30. Why to use Docker innfinision.netDocker Container Introduction
  • 31. Why to use Docker innfinision.net ● Portable Deployments Can be deployed to various environments without making any changes to the container ● Fast application delivery ● Scale and deploy with ease Scaling up and down containers is blazingly fast ● Higher workloads with greater density More container applications can be deployed on a host when compared to virtual machines Docker Container Introduction
  • 33. Docker Architecture innfinision.net ● Docker has client server architecture. The Docker client instructs the Docker daemon for all the container specific tasks. ● Docker daemon is carried out through sockets or through REST APIs. ● Docker client and Docker daemon can be on the same host or different hosts. Docker Container Introduction
  • 35. Docker internal components innfinision.net ● Docker image – base image An image consists of OS (Ubuntu, CentOS etc.,) and applications installed on it. ● Docker registry Docker registry is a repository for Docker images. It can be public or private. The public Docker registry maintained by Docker is called Docker hub. Docker Container Introduction
  • 36. Docker internal components innfinision.net ● Docker Container It is created on top of a Docker image and it is completely isolated. has its own user space, networking and security settings and holds all the necessary files and configurations for running an application. Docker Container Introduction
  • 37. How Docker Works innfinision.netDocker Container Introduction
  • 38. Working of Docker image innfinision.net Each Docker image is an association of various layers.These layers are combined in to a single unit using Uniform file system (AUFS). AUFS stores every layer as a normal directory, files with AUFS metadata. This ensures that all the files and directories are unique to the particular layer. Docker Container Introduction
  • 39. Working of Docker image innfinision.net An image consists of OS (Ubuntu, centos etc.,) and applications installed on it. Docker Container Introduction
  • 40. Working of Docker registry innfinision.net Public registry (Docker hub): It contains official Docker images and user created images. ● Private registry: A registry created by a user for storing private Docker images in your datacenter. Docker Container Introduction
  • 41. How container works innfinision.net Container is an execution environment for applications. It contains all the operating system files, files added by users and metadata. Container is launched from an image, As the images are in read only format, when a container is launched, a read/write layer will be added on top of the image for the container for the applications to run and make changes to it. Docker Container Introduction
  • 43. Simple Command To Build Docker Container innfinision.netDocker Container Introduction
  • 44. innfinision.net ● Docker checks the specified Docker image If it is present locally, Docker will use that image for creating a container. If not, it will download the image from the registry (based on the Docker host configuration) on the host. ● The local or pulled image will be used for creating a new container. ● Once the image is set, Docker will create a read/write file system over the image. Sudo docker run -i -t ubuntu /bin/bash Docker Container Introduction
  • 45. innfinision.net ● Then Docker creates the necessary network interfaces for the container to interact with the host machine. ● Docker checks for available IP address from the pool and allocates one to the container. ● Then it executes the command specified in the command e.g. /bin/bash shell ● Finally it logs all the input/output and errors for the user to find out the status of the container. Sudo docker run -i -t ubuntu /bin/bash Docker Container Introduction