Skip to content

## 📝 Author

Birat Aryalbirataryal.github.io
Created Date: 2025-06-18
Updated Date: Tuesday 17th June 2025 21:52:05
Website - birataryal.com.np
Repository - Birat Aryal
LinkedIn - Birat Aryal
DevSecOps Engineer | System Engineer | Cyber Security Analyst | Network Engineer

🐳 Introduction to Docker

Docker is an open-source platform designed to automate the deployment, scaling, and management of applications inside lightweight, portable containers. It enables developers and system administrators to package applications with all their dependencies and run them consistently across different environments.

🚀 Why Docker?

  • Portability: Run the same container on any system that supports Docker (Linux, Windows, macOS).
  • Isolation: Containers encapsulate everything needed to run a service without affecting the host.
  • Efficiency: Shares the host OS kernel, making it faster and lighter than traditional virtual machines.
  • Version Control: Docker images can be versioned and stored in registries like Docker Hub or Harbor.
  • CI/CD Integration: Easily integrates with modern DevOps workflows.

🧩 Core Components of Docker

Component Description
Docker Engine The runtime that builds and runs containers. It includes the Docker daemon (dockerd), REST API, and CLI (docker).
Images Immutable templates that contain the application and all dependencies. Created using Dockerfiles.
Containers Running instances of images. Each container is isolated and stateless by default.
Dockerfile Script used to build Docker images by defining steps, base images, and commands.
Docker Compose Tool for defining and running multi-container Docker applications using a docker-compose.yml file.
Volumes Persistent storage mechanism used by containers to store data outside the container's filesystem.
Networks Define communication between containers. Supports bridge, host, overlay, and custom networks.
Docker Hub / Registry Repositories to store and share Docker images. Can be public (Docker Hub) or private (Harbor, GitLab, etc.).