1

I want to set up a build server on windows with a gitlab-runner to build WPF applications for our company.

Everything should run neatly in docker containers, thus I need to install docker on windows, but if possible I would like to avoid paying Docker a subscription fee for Docker-Desktop

For Windows Server, there is a method by Microsoft to avoid Docker Desktop : https://docs.microsoft.com/de-de/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server

But a Windows Server license is also pretty expensive if all the server is doing is spinning up containers, since it seems like I would need a datacenter license when running more than two concurrent Hyper-V containers (which might be the case with multiple concurrent jobs running).

So I was wondering if there is a way to install docker on Windows 10/11 without needing to pay Docker a subscription fee for Docker-Desktop? Just throwing the Windows Server commands in a Powershell terminal does not work unfortunately, and does not provide a error message either...

user3696412
  • 181
  • 5
  • 1
    Are you even subject to license fees? Only if you no longer qualify as a “small company” do you have to pay. – Daniel B May 10 '22 at 13:55
  • @DanielB It's worth noting that even a company within the limits of "small company" might want to consider not utilizing a product that might require licensing in the future. Besides the risk of the company growing, it could also be that the terms change in the future. This can then also mean suddenly being in violation of such terms without anyone realizing this. (it's "just a buildserver" and everyone tends to forget about those) – Joeppie May 10 '22 at 14:39
  • We don't really answer licensing questions here. Those need to be asked of your seller. – music2myear May 16 '22 at 04:03

1 Answers1

-3

It would appear that this might be possible by means of WSL2, which you would first need to install, as per this article (archive)

It will require a fair bit of commandline. I have done this personally, but I forget the exact details, hopefully the article above provides accurate and up-to-date instructions.

Joeppie
  • 140
  • 6
  • I know that *linux* containers are no issue with this method, but does this allow one to run *windows* containers on WSL2? – Saaru Lindestøkke May 10 '22 at 15:04
  • @SaaruLindestøkke - It allows one to run Docker containers within WSL2. However, networking external and internal traffic to WSL2, isn't [cut and dry](https://superuser.com/questions/1717753/how-to-connect-to-windows-subsystem-for-linux-from-another-machine-within-networ/1717756#1717756) (but not necessarily difficult) – Ramhound May 10 '22 at 18:53
  • 1
    This does not answer the question. OP is specifically asking about [Windows containers](https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/), not Linux containers. – Daniel B May 10 '22 at 19:01
  • @Ramhound that's not what I meant. There are [two different types of containers](https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/faq#what-s-the-difference-between-linux-and-windows-server-containers-), I was wondering if both can be run with the WSL2 option. – Saaru Lindestøkke May 10 '22 at 21:27
  • @DanielB I thought that WSL2 offered the ability to run a 'native' Docker daemon through WSL, rather than through docker desktop, which uses HyperVM to run a "moby" linux VM which then hosts the docker container? This bypasses some problems and I believe affords higher performance. I also fail to understand how the conclusion is made that this would only allow for Linux based docker containers. – Joeppie May 11 '22 at 06:45
  • Weird. The best info I can find is that "By enabling the WSL 2 based engine, you can run both Linux and Windows containers in Docker Desktop on the same machine." Useless, and kind of suggests no. – Joeppie May 11 '22 at 06:52