In this article, I’ll explain the difference between Windows Containers and Docker Engine.
Many people are mixing the two technologies and are not aware of the big difference between them.
Docker Is a Containers Management Tool and not an underlining technology.Using Docker we could Create, Manage, Delete, Stop, attach, Etc Containers.
Before Microsoft adopted Docker as their preferred Management tool for Windows Containers they had their own PowerShell module to manage Containers however because they wanted to make Windows Based Containers portable across platforms they have selected Docker which Is used on Linux Containers and other platforms.
Docker and Microsoft have partnered together to create the Docker Engine for Windows and currently, both companies have support agreements between them to support customers.
Windows Containers Is the underlining technology platform that allows us to run a Windows Container Instance which combines the usage of many Windows Server technology like Hyper-V, File Server, Networking, etc.
I had heard at Microsoft Ignite that Docker was super excited to partner with Microsoft to develop the Docker Engine for Windows Server.
Can you run Containers without Docker?
Yes, In the beginning, Microsoft had a PowerShell module just for Windows Containers that was easy to use and was available up until Windows Server 201 TP4.
If you visit the following article you will see how it was used.
The other reason Microsoft has chosen Docker Engine as their management tool, Is because In the long term we will be able to run Linux Containers on Windows Server Containers Host and visa verse.
I’ll finish this article with a short explanation about the correct terminology to be used with Windows Containers.
- Docker – Core Management Tool
- Windows Containers – Underlining technology and Server Role on Windows Server 2016
- Container – A software Instance of a running Operating System (like a VM but not a VM)
- Container Host – A Server that hosts the Containers