Docker

Docker is an open-source project that automates the deployment of applications inside software containers - wikipedia

Here ask a few basic questions we try to answer best we can:

Docker has two major components:

Using Docker you can you can:

  1. Build a Docker Image that hold your applications.
  2. Create Docker Containers to run your applications.
  3. Share Docker Images.

#About Docker

Docker uses resource isolation features of the Linux kernel such as cgroups and kernel namespaces to allow independent "containers" to run within a single Linux instance, avoiding the overhead of starting and maintaining virtual machines - docs.docker.com

Docker architecture - - docs.docker.com

Docker uses a Client-server Architecture. The Docker Client talks to the Docker Daemon, which does the heavy lifting of building, running, and distributing your Docker containers.

Both the Docker client and the daemon can run on the same system, or you can connect a Docker client to a remote Docker daemon. The Docker client and daemon communicate via sockets or through a RESTful API.

To understand Docker’s internals, you need to know about three components:

  1. Docker Image
  2. Docker Registry
  3. Docker Container

#Related

Using Docker to create and manage containers may simplify the creation of highly distributed systems, by allowing multiple applications, worker tasks and other processes to run autonomously on a single physical machine or across multiple virtual machines.

For simple ad-hoc farms of diverse infrastructure, Docker is a simple deployment platform.