Docker is an application execution environment that simplifies the packaging and deployment of applications. Originally it started as a simpler way to use Linux containers. Today it is a huge ecosystem with many tools, and a repository of publicly available application images.
Before looking at a quick overview on how to use it, it is important to understand what Docker is, and how it compares to other—more or less—similar solutions. First of all, why is something like Docker really useful? There are many solutions to packaging applications, and all operating systems provide their own packaging system (even several, sometimes). Docker does not aim to be a replacement for the Windows application installer, macOS packages, ...