1. Docker Introduction.pdf

AmarGautam15 362 views 18 slides Apr 27, 2023
Slide 1
Slide 1 of 18
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18

About This Presentation

Docker KT


Slide Content

INTRODUCTION TO
DOCKER

Agenda
In this session, you will learn about:
•Overview of Compute Service
•Virtualization Vs Containerization
•What is Docker?
•Why Docker Containers?
•Docker Terminologies
•Docker Editions

Overview of Compute Service
•Bare Metal Infrastructure
•Virtualized Infrastructure
•Containerized Infrastructure

Bare-Metal Servers
•Bare-metal servers are 'physical' servers. Which is a single-tenant physical
server.

Disadvantages of Bare-Metal Servers
•One-App One-Server
•More expensive (hardware level)
•Mis-match of capacity
•Expensive maintenance

What is Virtualization?
•Virtualization is the technique of virtualizingthe
underlying Infrastructure, such as Memory, CPU,
Storage…
•Guestoperating systems run on top of a Host
operating system (Hypervisor).
•We can run different flavors of operating systems in
different virtual machines all running on the same
Infrastructure.
•Virtualization eliminates the need for extra
hardware resource.
Hardware (CPU,Memory,Disk I/O ,Network)
HostOperatingSystem (Tyep-2)
Hypervisor (KVM, Hyper-V, VirtualBox, ESX/ESX-i)
Guest Virtual Hardware 1
Guest Virtual Hardware 2
Guest Operating System 1
Guest Operating System 2
Application 1 Application 2
Virtual Machine 1 Virtual Machine 2
Bins/Libs Bins/Libs

Hypervisors
•Hypervisor: A hypervisor allows one host computer to support
multiple guest VMs by virtually sharing its resources, such as
Memory, CPU and Storage.
•Types of Hypervisor:
•Type-1 Hypervisors –Runs directly on top of Hardware.
•KVM, Xen, Hyper-V, ESX/ESXi…
•Type-2 Hypervisors –Runs on top of Host OS.
•Oracle VB, VMware Workstation…

Hypervisors…
Guest OS
VM
Guest OS
VM
Hypervisor
Hardware
Type 1 Hypervisor
(Bare-Metal Architecture)
Guest OS
VM
Guest OS
VM
Hypervisor
Hardware
Host OS
Type 2 Hypervisor
(Hosted Architecture)

VMs are great, but they’re far from perfect!
•Each guest OS will have its own kernel and set of libraries and dependencies.
•Since each VM includes an OS and a virtual copy of all the hardware the OS requires, VMs
require significant RAM and CPU resources.
•VMs incur a lot of overhead beyond what is being consumed by your application logic.
•Since each VM has its own dedicated OS, License cost is involved.
•Patching, Upgrades, Security, Hardening requires larger team and time.
•Boot up process is longer and takes more time.

Containerization
•Containers are a method of operating system
level virtualization.
•Containers allow you to run an application and
its dependencies in resource-isolated processes.
•No guest OS overhead and utilizes a host’s
operating system.
•Containers share relevant OSlibraries &
resources as and when needed unlike virtual
machines.
•Containers are Lightweightand Fasterthan
Virtual Machines.
Hardware (CPU,Memory,Disk I/O ,Network)
HostOperatingSystem (Must)
App1 App2 App3
C1 C2 C3
App4
C4
App5
C5
App6
C6
CRI ( Docker, containerd, CRI-O)
Bins/Libs
Bins/Libs
Bins/Libs
Bins/LibsBins/LibsBins/Libs

APP1
CONTAINER1
HOSTNAME
IPADDRESS
DISK
APP2
CONTAINER2
HOSTNAME
IPADDRESS
DISK
OperatingSystem
Computer
What is Container?
A container is the same idea as a physical container—think of it like a box with an application in it.
Hostname
IP Address
Disk
CPU
Memory
Docker
Each Container has its own Computer Name, IP address and Disk …

Virtualization vs Containerization
Hardware (CPU,Memory,Disk I/O ,Network)
HostOperatingSystem (Tyep-2)
Hypervisor (KVM, Hyper-V, VirtualBox, ESX/ESX-i)
Hardware (CPU,Memory,Disk I/O ,Network)
HostOperatingSystem (Must)
CRI ( Docker, containerd, CRI-O)
Guest Virtual Hardware 1
Guest Virtual Hardware 2
Guest Operating System 1
Guest Operating System 2
Application 1
Application 2
Virtual Machine 1 Virtual Machine 2
Bins/Libs
Bins/Libs
C4 C5 C6
App1 App2 App3
C1 C2
C3
App4 App5 App6
Bins/Libs
Bins/Libs
Bins/Libs
Bins/Libs
Bins/LibsBins/Libs

Virtualization
•Method of Hardware level Virtualization
•Each VM needs dedicated Guest OS
•Larger in size
•Dedicated Kernel
•Each VM will have its own Libraries and Binaries
•Longer boot process
•Takes more time for creating
•Consumes more resources
•Migrating virtualized application is challenging due to hardware
incompatibility
Containerization
•Method of OS level Virtualization
•Containers share host machine OS
•Smaller in size
•Share the Host kernel
•Share relevant Libraries and Binaries
•Shorter boot process
•Takes Few seconds
•Consume less resources
•Migrating Containerized application is
much easier

What is Docker?
•Docker, Inc. –The company
•Docker the technology
•Docker is an open source platform for developing, shipping, and running
applications.
•Docker enables you to separate your applications from your infrastructure
so you can deliver software quickly.
•Docker manages the lifecycle of the container.
•The use of containers to deploy applications is called containerization.

History of Docker Inc.
•Developed using Linux core components, in 2013.
•It was developed as an internal project at a platform-as-a-servicecompany called
dotCloudand later renamed as Docker.

APP1
Libraries
APP1
Libraries
Container 1 Container 2
DockerEngine
Host OS
Docker Terminologies
•Runs Application within docker Container
•Alternative to VMs & use host’s OS
3 Terminologies to remember
•Docker image is build using dockerfile
•Dockerfile contain all the application dependencies
•Docker container is an instance of a docker image

Docker
File
Docker image
Docker
Container
Docker
Hub
Staging Server
Container
Production Server
Container
Virtual Machine
How Docker Works?

Docker Editions
•Docker Community Edition (CE) is ideal for individual developers and small
teams looking to get started with Docker and experimenting with container-
based apps.
•Docker Enterprise Edition (EE) is designed for enterprise development and IT
teams who build, ship, and run business critical applications in production at
scale. Renamed as MKE –Nov 2019
Tags