Overview of Basic Docker Terminologies
Tags: docker, kubernetes, tutorial, beginners
Published: 2024-01-19 00:29:46

**Hello Dev friends! 👋**


Welcome to the series of [Beginner to Expert guide on Docker 🐋 & Kubernetes ☸️ ](https://dev.to/mukeshkuiry/series/25979) 🚀



From our [previous blog](https://dev.to/mukeshkuiry/evolution-of-docker-kubernetes-virtualization-1a9f), I hope you got the idea of how **Docker** comes in the present. 

If you haven't read it, I recommend you to read it before you jump into this article; it will ease your **Docker** journey.

Now, from this article, we will truly dive into **Docker** tutorials, not actually from this article, but from the next article 😁, in this article, we will know the terminologies involved in **Docker** (which is important) for a better understanding of the whole **Docker** article series.

## **Containerization** 🛡️

**Containerization** is a modern technology that allows us to bind the whole binaries/libraries and source code into a single pot to run into any infrastructure.

For a practical example, we can say that we can deploy a **node.js** backend API into **AWS EC2** infrastructure.

Here combining the **node.js** code and packages into a single container is called **containerization**.

## **Docker** 🐳

People usually interchange the terms **Docker** and **containerization**, but both have different perspectives and use cases. While **containerization** is a technique, **Docker** is the popular toolkit to container an application.

**Docker** helps us to **containerize** the application and use this **Docker** container to deploy in any infrastructure efficiently.

## **Images** 🖼️

I guess, you may often come across the term `**docker image**`, yes that is the image. Basically, an **image** is a file containing the information to build a container.

We usually start with a **base image** and modify it according to our project needs.

## **Container** 🚢

A **container** is a lightweight portable instance of an **image**, which is usually deployed in any infrastructure to run any application.

## **Ports** 🌐

**Containers** are usually deployed on a remote server and to communicate with that **container**, we need to define the **port**. So, a **port** is the **container gateway** that helps us to talk and use the deployed **containerized** application. 🚪

## **Volumes** 💽

**Volumes** refer to the amount of disk storage allocated to the **container** during deployment. This **volume** helps us to run the application efficiently. Wisely calculating **volume** is crucial for efficient resource management.

## **Registry** 📦

**Registry** refers to the store of different **container images**. It allows us to store our **container images** with versions. It stores each **image** with a unique name.

**Docker hub** is a popular **Docker container registry** to store **Docker container images**.

I guess these are enough for now to know; from the next post, we will jump into installation and then start with the main concepts of **Docker** and **Kubernetes**.

Till then see you Bye Bye! 👋

Follow for more @mukeshkuiry !

[LinkedIn](https://www.linkedin.com/in/mukeshkuiry)
[X-(Twitter)](https://twitter.com/mukeshkuiry07)