DEV Community

Esandi Linara
Esandi Linara

Posted on

Introduction to DOCKER

What is Docker?

Docker is a tool that lets the user to package up an application along with everything it needs to run. The code, the libraries, the settings, all of it are put into a single neat unit called a container.

Why do people use Docker?

Docker exists to kill the "works on my machine" excuse. It does this by packaging apps so they run the same everywhere, making deployment a one-step process, letting each part of an app (database, backend, frontend) run in its own container, keeping teams on the same setup, and fitting neatly into automated testing/deployment pipelines.

Advantages of Docker

  1. Portable: build once, run anywhere
  2. Lightweight and fast to start
  3. Keeps apps isolated from each other
  4. Speeds up releases
  5. Scales easily with tools like Kubernetes
  6. Supports easy version rollbacks
  7. Runs efficiently without multi-OS overhead
  8. Backed by a huge community and ready-made images

Disadvantages of Docker

  1. Carries kernel-level security risk
  2. Can't truly virtualize a different OS
  3. Makes long-term data storage trickier
  4. Adds networking complexity at scale
  5. Has a real learning curve
  6. Harder to debug than a normal app
  7. Small performance cost vs. running natively

What is Docker Hub?

Docker Hub is basically the app store for Docker images. It is a cloud-based library where people can upload, share, and download container images.

It lets the user to store images publicly for free or keep them private with a paid plan. It gives you access to official, verified images for popular software like MySQL, Nginx, Python, and Node. It can automatically rebuild the images whenever you push new code to GitHub, and lets you label images with version tags so you always know exactly what you're running. It is a container, what GitHub is to code a central place to find, share and build on other people's work.

Top comments (0)