Docker Engine is the interface that provides access to the process isolation features of the Linux kernel. Since only Linux exposes the features that allow containers to run, Windows and macOS hosts leverage a Linux VM in the background to make container execution possible. For Windows and macOS users, Docker provides the "Docker Desktop" suite of packages that deploy and run this VM in the background for you. This allows Docker commands to be executed natively from the terminal or PowerShell console of the macOS or Windows host. Linux hosts have the privilege of directly executing the Docker Engine natively because modern versions of the Linux kernel support
cgroups and namespace isolation.
Since Windows, macOS, and Linux have fundamentally different operating system architectures in terms of networking and process management, a few of the examples in this book (specifically in regard to networking) are sometimes called out as having different behaviors...