Docker containers are isolated groups of OS processes running on a union file system. Containers are an operating system-level concept. So there have to be different versions of Docker for different OSes. Windows is fundamentally different from Linux, so there's a version that uses Windows OS constructs to run and isolate containers. On Linux Docker uses cgroups, namespaces etc. Mac OS is different again from Linux and Windows (though Linux is a lot closer to Mac OS), so Docker for Mac runs a Linux VM and runs the containers inside that. If you want to learn Docker then you must watch the following Docker Training Course. Here is a video tutorial which you should also watch to learn the basics of Docker. .