# Docker

## Introduction

***Docker** is an open-source platform designed to **automate the deployment, scaling, and management of applications** using **containerization**.*

## Key Concepts:

* **Container**: A lightweight, standalone, and executable package that includes everything needed to run a piece of software—**code, runtime, libraries, and system tools**.
* **Image**: A read-only template used to create containers.
* **Dockerfile**: A script that contains instructions to build a Docker image.
* **Docker Hub**: A public registry where you can upload and download Docker images.

## Why use Docker?

* Makes applications **portable** across environments (development, staging, production).
* Reduces issues like “it works on my machine.”
* Saves system resources compared to traditional virtual machines.
* Great for **DevOps**, **CI/CD**, and **microservices** architecture.
