SlideShare a Scribd company logo
1 of 33
 You are a employee at some XYZ company. You are in backend development
department of that company and there are other departments also like
administrator, frontend, customer service, testing, cloud, etc…
 You are developing a WEB APP.
 This WEB APP has many dependencies so in order to work seemly for all
departments at this project they have to define some constraints.
 So that this APP run same in all the departments system!
 Its kind of a hectic task!
 There can be many problems!
 So what's the solution for it?
 LXC (Linux Containers) is a Linux operating system level virtualization method for
running multiple isolated Linux systems on a single host.
 Linux containers, in short, contain applications in a way that keep them isolated from
the host system that they run on.
 Containers allow a developer to package up an application with all of the parts it
needs, such as libraries and other dependencies, and ship it all out as one package.
 In a way, containers behave like a virtual machine. To the outside world, they can look
like their own complete system.
 But unlike a virtual machine, rather than creating a whole virtual operating system,
containers don't need to replicate an entire operating system, only the individual
components they need in order to operate.
 This gives a significant performance boost and reduces the size of the application.
 They also operate much faster, as unlike traditional virtualization the process is
essentially running natively on its host, just with an additional layer of protection
around it.
• Docker is a container management service. The keywords
of Docker are develop, ship and run anywhere. The whole
idea of Docker is for developers to easily develop
applications, ship them into containers which can then be
deployed anywhere.
• Docker containers wrap up a piece of software in a
complete file system that contains everything it needs
to run: code, runtime, system tools, system libraries –
anything you can install on a server.
• This guarantees that it will always run the same,
regardless of the environment it is running in.
 Docker has the ability to reduce the size of development by providing a smaller
footprint of the operating system via containers.
 With containers, it becomes easier for teams across different units, such as
development, QA and Operations to work seamlessly across applications.
 You can deploy Docker containers anywhere, on any physical and virtual machines
and even on the cloud.
 Since Docker containers are pretty lightweight, they are very easily scalable.
API endpoint
Static website
nginx 1.5 + modsecurity + openssl + bootstrap 2
User DB
postgresql + pgv8 + v8
Analytics DB
hadoop + hive + thrift + OpenJDK
Web frontend
Ruby + Rails + sass + Unicorn
Queue
Redis +redis-sentinel
Background workers
Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs +
phantomjs
Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client
Development VM
QAserver
Public Cloud
Disaster recovery
Contributor’s laptop
Production Servers
Multiplicityof
Stacks
Multiplicityof
hardware
environment
s
Production Cluster
Customer Data Center
Doservicesand
appsinteract
appropriately?
CanImigrate
smoothlyand
quickly?
Static website User DB Web frontend Queue Analytics DB
Development
VM
QAserver Public Cloud Contributor’s
laptop
Multiplicityof
Stacks
Multiplicityof
hardware
environments
Production
Cluster
Customer Data
Center
Doservicesand
appsinteract
appropriately?
CanImigrate
smoothlyand
quickly
…that can be manipulated using
standard operations and run
consistently on virtually any
hardware platform
An engine that enables any
payload to be encapsulated as
a lightweight, portable, self-
sufficient container…
10
 Build once, runanywhere
 A clean,safe, hygienic and portable runtime environment for yourapp.
 No worries about missing dependencies, packages and other pain points
during subsequent deployments.
 Run each app in its own isolated container, so you can run various versions of
libraries and other dependencies for each app without worrying
 Automate testing, integration, packaging…anything you can script
 Reduce/eliminate concerns about compatibility on different platforms, either
your own or your customers.
 Cheap, zero-penalty containers to deploy services? A VM without the overhead of
a VM? Instant replay and reset of image snapshots? That’s the power of Docker
 Configure once…run anything
 Make the entire lifecycle more efficient, consistent, and repeatable
 Increase the quality of code produced by developers.
 Eliminate inconsistencies between development, test, production, and
customerenvironments
 Support segregation of duties.
 Significantly improves the speed and reliability of continuous deployment
and continuous integration systems.
 Because the containers are so lightweight, address significant performance,
costs, deployment, and portability issues normally associated with VMs.
• The Developer
• Worries about
what’s “inside”
the container
• His code
• His Libraries
• His
Package
Manager
• His Apps
• His Data
• All Linux
servers look
the same
• The Administrator
• Worries about
what’s “outside”
the container
• Logging
• Remote access
• Monitoring
• Network config
• All containers
start, stop, copy,
attach, migrate,
etc. the same way
Source
Code
Repository
Dockerfile
For
A
Docker Engine
Docker
Container
Image
Registry
Build
Docker
Host 2 OS (Linux)
ContainerA
ContainerB
ContainerC
ContainerA
Push
Search Pull
Run
Host 1OS(Linux)
 Docker takes advantage of a technology called namespaces to provide the
isolated workspace we call the container.
 When you run a container, Docker creates a set of namespace for that container.
 Some of the namespaces that Docker Engine uses on Linux are:-
• The pid namespace: Process isolation (PID: Process ID).
• The net namespace:Managing network interfaces .
• The ipc namespace:Managing access to IPC resources (IPC: InterProcess
Communication).
• The mnt namespace: Managing mount-points (MNT: Mount).
• The uts namespace: Isolating kernel and version identifiers. (UTS: Unix
Timesharing System)
 Docker Engine on Linux also makes use of another
technology called cgroups or control groups.
 A key to running applications in isolation is to have them only use the
resources you want.
 This ensures containers are good multi-tenant citizens on a host.
 Control groups allow Docker Engine to share available hardware resources to
containers and, if required, set up limits and constraints.
 For example, limiting the memory available to a specific container.
Docker Engine is a client-server application with these
major components:
• A server which is a type of long-running program called a daemon process.
• A REST API which specifies interfaces that programs can use to talk to the
daemon and instruct it what to do.
• A command line interface (CLI) client.
•A Docker image is a read-only template. For example,
an image could contain an Ubuntu operating system
with Apache and your web application installed.
•Images are used to create Docker containers. Docker
provides a simple way to build new images or update
existing images, or you can download Docker images
that other people have alreadycreated.
•Docker images are the build component of Docker.
•Docker can build images automatically by reading the
instructions from a DockerFile.
•A Dockerfile is a text document that contains all the
commands a user could call on the command line to assemble an
image.
•Using docker build users can create an automated build that
executes several command-line instructions in succession.
•The docker build command builds an image from a Dockerfile
and acontext.
•Docker registries hold images.
•These are public or private stores from which you upload
or download images.
•The public Docker registry is provided with the Docker
Hub. (hub.docker.com)
•It serves a huge collection of existing images for your use. These
can be images you create yourself or you can use images that
others have previously created.
•Docker registries are the distribution component of
Docker.
•The CLI makes use of the Docker REST API to control or
interact with the Docker daemon through scripting or direct
CLIcommands.
•Many other Docker applications make use of the
underlying API andCLI.
•The CLI is also used to issue commands.
 Persisted snapshot that can be run
 images: List all local images
 run: Create a container from an image and execute a command in
it
 tag: Tag an image
 pull: Download image from repository
 rmi: Delete a local image
 This will also remove intermediate images if no longer used
28
 Runnable instance of an image
 ps: List all running containers
 ps –a: List all containers (incl. stopped)
 top: Display processes of a container
 start: Start a stopped container
 stop: Stop a running container
 pause: Pause all processes within a container
 rm: Delete a container
 commit: Create an image from a container
29
What is Docker?
What is Docker?
What is Docker?
What is Docker?

More Related Content

What's hot

Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerInstruqt
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An IntroductionPOSSCON
 
docker installation and basics
docker installation and basicsdocker installation and basics
docker installation and basicsWalid Ashraf
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Simplilearn
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerLuong Vo
 
Docker introduction for the beginners
Docker introduction for the beginnersDocker introduction for the beginners
Docker introduction for the beginnersJuneyoung Oh
 
Docker intro
Docker introDocker intro
Docker introOleg Z
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Herofazalraja
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionPeng Xiao
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetesDr Ganesh Iyer
 
Dockers and containers basics
Dockers and containers basicsDockers and containers basics
Dockers and containers basicsSourabh Saxena
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...Simplilearn
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with DockerRavindu Fernando
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerizationBalint Pato
 
Containers technologies
Containers technologiesContainers technologies
Containers technologiesJoris Bonnefoy
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT CampusAjeet Singh Raina
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017Docker, Inc.
 

What's hot (20)

Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
 
docker installation and basics
docker installation and basicsdocker installation and basics
docker installation and basics
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
What is Docker
What is DockerWhat is Docker
What is Docker
 
Docker introduction for the beginners
Docker introduction for the beginnersDocker introduction for the beginners
Docker introduction for the beginners
 
Docker intro
Docker introDocker intro
Docker intro
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Hero
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
Dockers and containers basics
Dockers and containers basicsDockers and containers basics
Dockers and containers basics
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerization
 
Containers technologies
Containers technologiesContainers technologies
Containers technologies
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
 
Docker
DockerDocker
Docker
 

Similar to What is Docker?

Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deploymentjavaonfly
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KuberneteszekeLabs Technologies
 
Docker - Frank Maounis
Docker - Frank MaounisDocker - Frank Maounis
Docker - Frank MaounisFrank Maounis
 
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
 
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...ICON UK EVENTS Limited
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAditya Konarde
 
docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...Matteo Bisi
 
.docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c....docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c...Andrea Fontana
 
Docker - Alem da virtualizaćão Tradicional
Docker - Alem da virtualizaćão Tradicional Docker - Alem da virtualizaćão Tradicional
Docker - Alem da virtualizaćão Tradicional Marcos Vieira
 
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...Yogesh Wadile
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture materialAnkit Gupta
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosMike Martin
 

Similar to What is Docker? (20)

Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
Docker slides
Docker slidesDocker slides
Docker slides
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & Kubernetes
 
Docker
DockerDocker
Docker
 
Docker - Frank Maounis
Docker - Frank MaounisDocker - Frank Maounis
Docker - Frank Maounis
 
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
 
Docker Overview
Docker OverviewDocker Overview
Docker Overview
 
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker
DockerDocker
Docker
 
docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...
 
.docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c....docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c...
 
Docker - Alem da virtualizaćão Tradicional
Docker - Alem da virtualizaćão Tradicional Docker - Alem da virtualizaćão Tradicional
Docker - Alem da virtualizaćão Tradicional
 
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture material
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 
Docker intro
Docker introDocker intro
Docker intro
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err Microcosmos
 

Recently uploaded

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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
 
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
 
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
 
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
 
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
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
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
 

Recently uploaded (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
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
 
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
 
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
 
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?
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

What is Docker?

  • 1.
  • 2.  You are a employee at some XYZ company. You are in backend development department of that company and there are other departments also like administrator, frontend, customer service, testing, cloud, etc…  You are developing a WEB APP.  This WEB APP has many dependencies so in order to work seemly for all departments at this project they have to define some constraints.  So that this APP run same in all the departments system!  Its kind of a hectic task!  There can be many problems!  So what's the solution for it?
  • 3.
  • 4.  LXC (Linux Containers) is a Linux operating system level virtualization method for running multiple isolated Linux systems on a single host.  Linux containers, in short, contain applications in a way that keep them isolated from the host system that they run on.  Containers allow a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and ship it all out as one package.  In a way, containers behave like a virtual machine. To the outside world, they can look like their own complete system.  But unlike a virtual machine, rather than creating a whole virtual operating system, containers don't need to replicate an entire operating system, only the individual components they need in order to operate.  This gives a significant performance boost and reduces the size of the application.  They also operate much faster, as unlike traditional virtualization the process is essentially running natively on its host, just with an additional layer of protection around it.
  • 5.
  • 6. • Docker is a container management service. The keywords of Docker are develop, ship and run anywhere. The whole idea of Docker is for developers to easily develop applications, ship them into containers which can then be deployed anywhere. • Docker containers wrap up a piece of software in a complete file system that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. • This guarantees that it will always run the same, regardless of the environment it is running in.
  • 7.  Docker has the ability to reduce the size of development by providing a smaller footprint of the operating system via containers.  With containers, it becomes easier for teams across different units, such as development, QA and Operations to work seamlessly across applications.  You can deploy Docker containers anywhere, on any physical and virtual machines and even on the cloud.  Since Docker containers are pretty lightweight, they are very easily scalable.
  • 8. API endpoint Static website nginx 1.5 + modsecurity + openssl + bootstrap 2 User DB postgresql + pgv8 + v8 Analytics DB hadoop + hive + thrift + OpenJDK Web frontend Ruby + Rails + sass + Unicorn Queue Redis +redis-sentinel Background workers Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs + phantomjs Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client Development VM QAserver Public Cloud Disaster recovery Contributor’s laptop Production Servers Multiplicityof Stacks Multiplicityof hardware environment s Production Cluster Customer Data Center Doservicesand appsinteract appropriately? CanImigrate smoothlyand quickly?
  • 9. Static website User DB Web frontend Queue Analytics DB Development VM QAserver Public Cloud Contributor’s laptop Multiplicityof Stacks Multiplicityof hardware environments Production Cluster Customer Data Center Doservicesand appsinteract appropriately? CanImigrate smoothlyand quickly …that can be manipulated using standard operations and run consistently on virtually any hardware platform An engine that enables any payload to be encapsulated as a lightweight, portable, self- sufficient container…
  • 10. 10
  • 11.  Build once, runanywhere  A clean,safe, hygienic and portable runtime environment for yourapp.  No worries about missing dependencies, packages and other pain points during subsequent deployments.  Run each app in its own isolated container, so you can run various versions of libraries and other dependencies for each app without worrying
  • 12.  Automate testing, integration, packaging…anything you can script  Reduce/eliminate concerns about compatibility on different platforms, either your own or your customers.  Cheap, zero-penalty containers to deploy services? A VM without the overhead of a VM? Instant replay and reset of image snapshots? That’s the power of Docker
  • 13.  Configure once…run anything  Make the entire lifecycle more efficient, consistent, and repeatable  Increase the quality of code produced by developers.  Eliminate inconsistencies between development, test, production, and customerenvironments
  • 14.  Support segregation of duties.  Significantly improves the speed and reliability of continuous deployment and continuous integration systems.  Because the containers are so lightweight, address significant performance, costs, deployment, and portability issues normally associated with VMs.
  • 15. • The Developer • Worries about what’s “inside” the container • His code • His Libraries • His Package Manager • His Apps • His Data • All Linux servers look the same • The Administrator • Worries about what’s “outside” the container • Logging • Remote access • Monitoring • Network config • All containers start, stop, copy, attach, migrate, etc. the same way
  • 16. Source Code Repository Dockerfile For A Docker Engine Docker Container Image Registry Build Docker Host 2 OS (Linux) ContainerA ContainerB ContainerC ContainerA Push Search Pull Run Host 1OS(Linux)
  • 17.  Docker takes advantage of a technology called namespaces to provide the isolated workspace we call the container.  When you run a container, Docker creates a set of namespace for that container.  Some of the namespaces that Docker Engine uses on Linux are:- • The pid namespace: Process isolation (PID: Process ID). • The net namespace:Managing network interfaces . • The ipc namespace:Managing access to IPC resources (IPC: InterProcess Communication). • The mnt namespace: Managing mount-points (MNT: Mount). • The uts namespace: Isolating kernel and version identifiers. (UTS: Unix Timesharing System)
  • 18.  Docker Engine on Linux also makes use of another technology called cgroups or control groups.  A key to running applications in isolation is to have them only use the resources you want.  This ensures containers are good multi-tenant citizens on a host.  Control groups allow Docker Engine to share available hardware resources to containers and, if required, set up limits and constraints.  For example, limiting the memory available to a specific container.
  • 19.
  • 20. Docker Engine is a client-server application with these major components: • A server which is a type of long-running program called a daemon process. • A REST API which specifies interfaces that programs can use to talk to the daemon and instruct it what to do. • A command line interface (CLI) client.
  • 21.
  • 22. •A Docker image is a read-only template. For example, an image could contain an Ubuntu operating system with Apache and your web application installed. •Images are used to create Docker containers. Docker provides a simple way to build new images or update existing images, or you can download Docker images that other people have alreadycreated. •Docker images are the build component of Docker.
  • 23. •Docker can build images automatically by reading the instructions from a DockerFile. •A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image. •Using docker build users can create an automated build that executes several command-line instructions in succession. •The docker build command builds an image from a Dockerfile and acontext.
  • 24.
  • 25. •Docker registries hold images. •These are public or private stores from which you upload or download images. •The public Docker registry is provided with the Docker Hub. (hub.docker.com) •It serves a huge collection of existing images for your use. These can be images you create yourself or you can use images that others have previously created. •Docker registries are the distribution component of Docker.
  • 26. •The CLI makes use of the Docker REST API to control or interact with the Docker daemon through scripting or direct CLIcommands. •Many other Docker applications make use of the underlying API andCLI. •The CLI is also used to issue commands.
  • 27.
  • 28.  Persisted snapshot that can be run  images: List all local images  run: Create a container from an image and execute a command in it  tag: Tag an image  pull: Download image from repository  rmi: Delete a local image  This will also remove intermediate images if no longer used 28
  • 29.  Runnable instance of an image  ps: List all running containers  ps –a: List all containers (incl. stopped)  top: Display processes of a container  start: Start a stopped container  stop: Stop a running container  pause: Pause all processes within a container  rm: Delete a container  commit: Create an image from a container 29

Editor's Notes

  1. Virtual Machines Each virtualized application includes not only the application - which may be only 10s of MB - and the necessary binaries and libraries, but also an entire guest operating system - which may weigh 10s of GB. Docker The Docker Engine container comprises just the application and its dependencies. It runs as an isolated process in userspace on the host operating system, sharing the kernel with other containers. Thus, it enjoys the resource isolation and allocation benefits of VMs but is much more portable and efficient. Docker provides base images that contain OS installations we can start from: The OS is not more than an application running on the Kernel...
  2. docker run --rm to remove container after termination