Introduction To Docker

Introduction To Docker

A simple explanation about Docker and its installation.

·

5 min read

In this blog you will learn about the fundamentals of the docker container.

So before learning about docker, let's know about a few topics so that you can understand them clearly.

FUNDAMENTALS

KERNAL

The kernel is the essential centre of a computer operating system (OS). It is the core that provides basic services for all other parts of the OS. It is the main layer between the OS and hardware, and it helps with process and memory management, file systems, device control and networking.

HYPERVISOR

also known as Virtual Machine Monitor(VMM) is software that allows one host OS to support multiple guest VM(virtual machines) by virtually sharing its resources such as memory and processing.

VIRTUALIZATION

In computing, It is the act of creating a virtual version of something.

VIRTUAL MACHINES

Runs the whole OS on the hypervisor(the whole OS include the kernel). It should have its own kernel and OS.

The below image will explain virtualization. Screenshot 2022-04-08 at 12.21.01 PM.png

CONTAINERIZATION

is the technique of bringing virtualisation to the operating system level. Virtualization brings abstraction to the hardware, Containerization brings abstraction to the operating system. Each and every container will communicate with the host's kernel. If the containers are destroyed it will not affect the host OS, because every container is an image by default.

c1,c2,c3 are nothing but containers.

Screenshot 2022-04-08 at 1.10.17 PM.png

WITH THIS KNOWLEDGE LETS LEARN ABOUT DOCKER.

INTRODUCTION TO DOCKER

Docker is a set of platforms as a service product that uses OS-level virtualisation(refer to containerisation topic) to deliver software packages called containers.

there are some topics to know in docker.

  • docker file

  • docker image

  • docker container

  • docker hub

Dockerfile, Docker Image And Docker Container:

DOCKER IMAGE

is created by the sequence of commands written in a file called docker file.

When this Dockerfile is executed using a docker command it results in a Docker Image with a name.

When this Image is executed by the “docker run” command it will by itself start whatever application or service it must start on its execution.

DOCKER HUB

is like a GitHub for docker images.it is basically a cloud registry where you can find docker images uploaded by different communities. You can also develop a docker image and upload it to the docker hub.

DOCKER ARCHITECTURE

it consists of a docker engine which has three components

  • A server is a type of long-running program called a daemon process (the docker command).

  • A REST API specifies interfaces that programs can use to talk to the daemon and instruct it on what to do.

  • A command-line interface (CLI) client (the docker command).

  • The CLI uses the Docker REST API to control or interact with the Docker daemon through scripting or direct CLI commands. Many other Docker applications use the underlying API and CLI.

DOCKER COMPOSE

Docker Compose is a tool that was developed to help define and share multi-container applications. With Compose, we can create a YAML file to define the services and with a single command, can spin everything up or tear it all down.

for more reference, visit docs.docker.com/compose

Now we have basic Knowledge of docker. Next, let's learn how to install it.

DOCKER INSTALLATION

- UBUNTU

Prerequisites

  • Ubuntu

  • account on docker hub

STEP -1 Installing Docker

first, update existing packages

$ sudo apt update

install a few prerequisite packages

$ sudo apt install apt-transport-https ca-certificates curl software-properties-common

then add the GPC key for the official docker repository for your system

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

add docker repository to APT sources

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

This will also update our package database with the Docker packages from the newly added repo.

Make sure you are about to install from the Docker repo instead of the default Ubuntu repo:

$ apt-cache policy docker-ce

Finally, install docker

$ sudo apt install docker-ce

After installation check, docker is running

$ sudo systemctl status docker

- WINDOWS

download it from the site docs.docker.com/desktop/windows/install

- MAC

download it from the site docs.docker.com/desktop/mac/install

CHECK DOCKER IS INSTALLED

  • open docker

enter the following command

$ docker --version

next

$ docker run hello-world

if you get output like below, then you have installed.

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (arm64v8)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

And we have come to the end of the blog, but wait this is not the end it's just part 1. In the next blog, let's learn about a few docker commands.

To be continued