License on Windows

I want to run a Docker application on a Windows Server 2019.

Is my only option to buy a Docker Desktop license?

I just found this topic and moved from Community to General Discussions since the Community category is not for asking from the community. See the description

Since Docker Desktop does not support Windows Server, it is not an option. There were some people in the past who tried to install it and someone even succeeded if I remember correctly, but you should find an other way. The answer would depend on which type of containers you want to use (Windows Container or Linux Container). I don’t know about Windows Containers on Windows Server, but you could run Linux containers in a Linux virtual machine or using WSL2 on Windows Server 2022. That would not require a subscription unless you want enjoy the benefits of Pro, Team or Business like bigger rate limits and features on Docker Hub.

Thanks @rimelek

Let say instead of running on a Win2019 server VM, I run it on a Win10 VM.
It seems to me that Docker Desktop includes a lot of great features for someone looking to build applications (developers). In this case the application is developed by a third party, so I don’t really require the features of desktop; the only reason to be running on a Windows machine is “We don’t have Linux admins in our org”.
To run the application on Windows rather than Linux do I need a Docker Desktop license? …and if so how many? one (for the vm)?

Now that is a new info. So you want to run it in a virtual machine. Then you need to know that Docker Desktop will also run a virtual machine so you need nested vitualization. Here is some help

You can use Docker Desktop, but whether it requires a license or not depends on what you use it for and where.

I quote

Do I need to pay to use Docker Desktop?

Docker Desktop is free for small businesses (fewer than 250 employees AND less than $10 million in annual revenue), personal use, education, and non-commercial open-source projects. Otherwise, it requires a paid subscription for professional use. Paid subscriptions are also required for government entities. When downloading and installing Docker Desktop, you are asked to agree to the Docker Subscription Service Agreement.

Read the Blog and FAQs to learn more.

As far as I know you can use any subscripton (Pro, Team, Business) depending on your needs. If you want to buy 100 licenses for 100 users, you can, but if you have so many developers you probably want Team or Business so you can collaborate easier and you can pay for one license, but the price is different depending on how many users you need.

If you want to share that one Windows 10 machine with all of your developers, I guess you could buy one Pro subscription but you could have only one shared Docker Hub user and collaborating would be much more complicated. You would need to log in to the Windows with the same user multiple times… I don’t know if that is possible at all. I also don’t know if using Docker Desktop and Docker Hub that way is allowed. For that you should contact Docker.

I think you will need at least a Docker Team license, enough resources and install Docker Desktop for multiple Users on the same Windows 10 machine, but this is alsos omething I have never tried. The worst case is that you need multiple Windows machine.

At this point I am confused. Are we talking about running the containerized application on Windows, so basically using Windows containers or you need Linux containers and you mean the “Docker Desktop” application running on Windows?

Jus to add to @rimelek info: Windows Server can run Windows containers. However, you can’t run Docker Desktop. Instead, you can run Docker CE (community supported, includes CLI), Mirantis Container runtime (commercial use, requires a MCR license), or ContainerD (community supported, does not include CLI).

Microsoft has created scripts to install both Docker CE (aka Moby) and ContainerD. The scripts will install everything you need to get it working, but keep in mind that the containerD one also installs nerdctl as the CLI. More details here: Prep Windows operating system containers | Microsoft Learn

1 Like