Docker Introduction
Build, Ship, and Run Any App, Anywhere”

What is Docker:

  • Docker is an open platform for developing, shipping, and running applications. It separates applications from infrastructure using container technology, similar to how virtual machines separate the operation system from base metal.


  • So, what’s the difference between Containers and Virtual Machines?

  • Basically, VM takes Guest OS as part of the application which may weight a lot. It would decrease the portability and introduce fat requirements into the application. 

  • Docker virtualises the OS instead. Only the application and all dependencies are contained which makes it fast, portable and the users don’t have to worry about the OS part (it’s outside of the container).

  • We can see how fabulous docker container is from a nice and neat from.

  • Then, why dockers?
  1. Damn fashion. (XDDD
  1. Fast and efficient: Build any app with any language with any stack
  1. Integrate the environment: Dockerized apps can run anywhere on anything


  • Docker Core Components:
  • Docker daemon:
  • Docker engine, runs on the host machine, listens for Docker API requests, and manages Docker objects such as images, containers, networks, and volumes. 

  • Docker client:
  • The Docker client (CLI) is the primary way that many Docker users interact with Docker. 
  • (ex: docker run, docker pull, docker build)

  • Docker Workflow Components:
  • Docker Image:
  • An image is a read-only template with instructions for creating a Docker container. Often, an image is based on another image, with some additional customization. (Like onion)


  • Commands:
  1. Check  current existing images
docker images

  1. Check all existing images (including intermediate images)
docker images -a

  1. Remove images
docker rmi [OPTIONS] IMAGE [IMAGE...]