Docker basics

Docker basics

Docker is an open-source centralized platform designed to create, deploy and run applications. Docker is a set of PaaS(Platform as a service).

A Docker container is like a VM(Virtual Machine), rather it is an advanced version of a VM and it works in containerization. Resource allocation in docker is not fixed like that in VM which means it allocates resources according to demand and does not have an OS of itself but rather uses the OS of the host machine.

Advantages

No pre-allocation of ram is required.

Containers are lightweight

Less cost compares to others.

Continuous Integration- it enables to build of a container image and then using that image across every step of the deployment process where ever needed.

Disadvantages

Docker is not a good solution for applications that require a rich GUI(Graphical User Interface)

Difficult to manage large amounts of containers.

Does not support cross-platform work for example developer built the image on windows and the tester is trying to run it on Linux.

There is no solution for data recovery and backup.

Docker Ecosystem

Docker Daemon

Runs on the host OS, responsible for the running container to managing docker services. It can communicate with other daemons.

Docker Client

Docker users can interact with users through a client. The Docker client uses commands and REST APIs to communicate with the docker daemon.

Docker Host

Provide the environment to execute and run applications. Contains docker daemon, images, containers, networks & storage.

Docker Hub/Registry

Manages and stores the docker images. It is of two types

  1. Public 2) Private

Docker Images

They are read-only binary templates used to create docker containers.

Did you find this article valuable?

Support Mohd Athar Shoyeb by becoming a sponsor. Any amount is appreciated!