Introduction to Docker

Docker is a containerization engine. It helps in containerizing your applications, along with the environments.

What are Containers?

Containers have been around much before Docker. OpenVZ and LXC projects came along about half a decade before Docker. So all Docker containers and containers but not all containers are Docker containers.

What is Docker?

Official definition of Docker

Docker allows you to package an application with all of its dependencies into a standardized unit for software development.

How does a Docker containers looks like?

A Docker container

How is this different that a Virtual machine?

enter image description here

Basic Docker Terminologies

How this all works together?

A typical Docker workflow looks like this. enter image description here

Docker client gives a call to Docker host to run a container from a particular image. If Docker host has that image, it run a container from it. If it does not have the image, it looks for it in the registry and pulls it on the host and then runs a container from it. Note that any of these three components can be on the same machine or on different machines.