Introduction to ArtificiaI Intelligence in Higher Education
Containerization (docker)
1. PRESENTED BY : PRESENTED TO:
RADHIKA KACHHAWA Mrs. RAJNI CHOUDHARY
ROLL NO – 14EEMCS080 Mrs. TARUNA KHEMWANI
CONTAINERIZATION (DOCKER)
1
2. They are an isolated, resource controlled and
portable operating
Basically ,a container is an isolated place where an
application can run without affecting the rest of
the system and without the system affecting the
application.Containers are the next evolution in
virtualization
If you were inside a container, it would look very
much like you were inside a freshly installed
physical computer or a virtual machine
2
3. These containers contains the real
Operating System
Software that you build
Dependencies to run the software’s
Environment variables
3
4. Docker is “an open source project or a tool to pack , ship and run any
application as a lightweight container “.The idea is to provide a
comprehensive abstraction layer that allows developers to
“containerize” or “package” any application and application and
application and have it run on any infrastructure.
4
6. Does not boot a separate OS per VM .
Faster to start and stop.
Shares a kernel across containers
Use less memory.
Multiple containers use Same dependencies.
Due to image layering incremental deployments of new app
version is smaller.
6
7. Docker uses a client server architecture.
It has 3 important constituent.
HOST – It contain several container that are possibly launched .Each
container contain its dockerised application with all dependencies.
DOCKER DAEMON- It is a invisible layer on the top of container which is
a thread that controls execution and lifecycle of each of these
containers. It only interact with the docker client which know docker
commands
DOCKER CLIENT- Docker Daemon is access by docker client which is
outside . It help user to perform operation like pulling and running an
image etc.
7
8. An image is collection of files ,some meta data (Technically those file form the root
filesystem of a container).
Image is made of layers , conceptually stacked on top of each other.
Each layer can add , change and remove file.
Images can share layers to optimize disk usage, transfer time and memory usage.
8
10. It run on a host machine and does all the heavy lifting required.
Docker client talk to the docker daemon only not to the
container.
A user does not directly interact with Daemon require Docker
client .
10
11. “A registry is a storage and content delivery system ,
holding named Docker images , available in different
tagged versions. User interact with a registry by using
docker push and pull commands .
DOCKER ARCHITECTURE ENSURES –
1. It is operating system agnostic – All that it needs is an OS
that can run. Docker essential application related
resources are package to run an image within a Docker
2. Docker containers have all the needed internal libraries ,
network information and execution environment for an
application to be executed.
11
15. Virtual Machine Docker
1. Each VM runs its own operating
system
2. Host OS can be different than guest
OS.
3. Virtual machine take few minutes to
come up/boot.
4. Virtual Machine snapshots are used
sparingly.
5. Not effective diff.
6. Cannot run more than couple of VMs
on an average laptop.
7. Processes in one VM can’t see
processes in other VM.
8. Each VM has its own root file system.
1. All containers share the same kernel of host.
2. Host OS and Container OS has to be same.
3. Docker containers take few milli seconds to
start.
4. Images are built incrementally on top of
another like layers.Lots of
images/snapshots.
5. Images can be diffed.
6. Can run many docker containers in a laptop.
7. Process in one container can’t see processes
in other container.
8. Each container has its own root file
system.(Not kernel)
15
17. There is much stronger dependency on the platform
provider in case of PaaS.
In PaaS user do not have much control over many of
the operational aspects.
PaaS provides additional benefits beyond application
packaging and deployment as in Docker.
PaaS provide scaling, high availability , performance,
monitoring, logging,updates etc.
17
20. Faster delivery of your applications.
Deploy and scale more easily.
Get higher density and run more workloads.
Faster deployment makes for easier management.
20