You are on page 1of 16

By: Spark Team Dr: Ahmed Salem

OUR TEAM

Fatma Sayah Manar Abdelgwad Salma Gamal

Eman Elhabab Eman Elhadad


01 Introduction to Docker

Traditional vs New-Generation
02 Virtualization
TABLE OF 03 Features of Docker
CONTENTS
04 Advantages of Docker

05 Disadvantages of Docker

06 Docker Architecture
Introduction to Docker

Docker is an open platform for developing, shipping, and running applications.

Docker enables you

1. to separate your applications from your infrastructure so you can deliver software quickly.

2. manage your infrastructure in the same ways you manage your applications.

Docker provides the ability to package and run an application in a loosely isolated environment
called a container.
What is a docker container?
• container is a standard unit of software that packages up code and all its dependencies so the
application runs quickly and reliably from one computing environment to another.

• containerization been around for a long time, but it was introduced in a different way by
docker.

• it packages applications as images that contain everything needed to run them: code, runtime
environment, libraries, and configuration.

• a docker container image is a lightweight, standalone, executable package of software that


includes everything needed to run an application: code, runtime, system tools, system
libraries and settings.
Why Docker?
Fast Simplicity
Docker simplifies
consistent delivery of
application deployment and
your applications. Lightweight management

Containers are efficient


and consume fewer
Isolation resources. Community
Containers keep applications Highlight the large and
separate from each other and the active
host system. Docker community
Traditional vs New-Generation
Virtualization

• Earlier we used to create virtual machines, and each VM had an


OS which took a lot of space and made it heavy.
• Now in docker container’s case, you have a single OS, and the
resources are shared between the containers. Hence it is
lightweight and boots in seconds.
Features of Docker

• reduces the size of development by providing a smaller.


• part of the OS via containers.
• It is easier to work on the same project by different teams with the help of
Containers.
• Docker containers can be deployed anywhere, on any physical, or virtual machines
and on the cloud.
• Docker containers are lightweight so, it becomes east to scale them.
Advantages VS. Disadvantages

Advantages Disadvantages

• Docker uses less memory • Complexity will increase due to layering.

• The full operating system is not required to run • It is difficult to manage many containers.
an application.
• For an application that needs better graphics,
• Containers run faster than the other Virtual Docker is not suitable for it.
Machines.
• Cross-platform compatibility
• It is lightweight. is not allowed.

• It allows us to use a remote repository to share


your containers with other teams.

• To reduce the risks, it uses dependencies.


Docker architecture

Client-server architecture component

Docker client Docker Registry


Docker Host
Docker architecture

Docker has client-server architecture in which the client communicates with the Docker
Daemon running on the Docker Host using a combination of REST APIs, Socket IO, and TCP.

Ex) If we have to build the Docker image, then we use the client to execute the build command to
Docker Daemon then Docker Daemon builds an image based on given inputs and saves it into the
Docker registry. If you don’t want to create an image then just execute the pull command from the
client and then Docker Daemon will pull the image from the Docker Hub finally if we want to run
the image then execute the run command from the client which will create the container.
1. Docker client :

• Uses commands and REST APIs to communicate with the docker daemon(server)

When a client runs any docker client runs any docker command on the docker client terminal, the
client terminal sends these docker commands to the docker daemon.

Docker daemon receives these commands from the docker client in the form of command and
REST APIs request

• Docker client uses command line interface (CLI) to run the following commands:
1. Docker build

2. Docker pull

3. Docker run
2. Docker host

• Used to provide an environment to execute and run application

• It contains:
1. Docker daemon

2. Images

3. Containers

4. Networks

5. Storage
3. Docker registry :

• Manages and stores the docker images

• There are 2 types of registries in the docker:


1. Public registry (Docker hub)

2. Private registry : it is used to share images within the enterprise


Any Questions!

You might also like