Introduction to Docker

Docker is a container-based open platform for developing, deploying, and running applications. Containerization enables you to create a container that includes your application, any binaries or libraries that your application depends on, and any configuration details. The way which containerized applications operate is shown below.

GUID-0C13DCE8-78C3-4E9E-99A4-DAB238217C24-low.png

As can be seen from this diagram, a Docker container includes an application plus any binaries or libraries that the application requires in order for it to run. The container runs under the control of Docker, which in turn runs on top of the operating system (which can be Windows 10, Windows Server 2016, or Linux).

Compare the containerized approach shown above with the diagram below that shows similar applications running in virtual machines rather than containers.

GUID-BA4FC7ED-47B3-4E5C-B242-D15845F38AFD-low.png

Note that a virtual machine includes a guest operating system whereas the corresponding container does not.