Which Docker version should I try for Windows Server 2012 R2 host (Linux container)?

Hello, I need to install docker with docker compose in a Windows Server 2012 R2 to run a Linux container (Ubuntu). Apparently this server has Hypervisor (msinfo32 → System Resources → “A hypervisor has been detected. Features required for Hyper-V will not be displayed”). However, the sources I found are somewhat contradictory:

According to this link ( How to install docker in windows server 2012 R2? ), it’s possible to run a Linux container in Windows Server 2012 R2 through Hyper-V, but “docker desktop is not supported”.

In this other link ( Doctor wont start after install - #2 by rimelek ), it says that “you can’t run Docker Desktop. Instead, you can run Docker CE”. It also says there are scripts to install docker ce ( Prepare Windows operating system containers | Microsoft Learn ), with three options - Moby, which seems to require Windows Server 2016, Mirantis Container Runtime (Docker EE, paid), and Containerd, for which I did not find requirement information (“minimal” runtime requirements: GitHub - containerd/containerd: An open and reliable container runtime ). At least on Linux docker comes with Docker Compose integrated, so theoretically I’ll have it on Windows too.

This third link ( Docker for Windows Server 2012 R2 - Stack Overflow ) says that the “Only option available for you would be to setup a virtual machine inside Windows Server 2012 and run a Docker Supported OS on it.”

However, a few people were able to install Docker Toolbox ( DOCKER toolbox for Windows Server 2012 which is running on VM ), which is a legacy product ( Install Docker Toolbox on Windows | Docker Documentation ) but it contains Docker Compose. I found these instructions which supposedly work for at least Windows 7, which includes Windows Server 2012 ( Install Docker Toolbox in Windows ). And the TI admin of the company recommended me to try Docker Desktop.

Considering all of this, I have a few questions:

  1. For what I got, I could either install the old Docker Toolbox or directly install docker CE, using one of these scripts. Which would be more recommended for Windows Server 2012 R2? Or should I try Docker Desktop to see if it works?

  2. If I need to use virtualization, will a solution for Windows Server 2012 R2 manage the VM part, or will I need to set a VM manually? I tried Docker Desktop in a Windows 10 for testing, and I did not need to set manually a VM, Docker Desktop managed it for me. But that was Win 10.

Thanks in advance!

You are pretty much on your own here, as Windows Server 2012 R2 is out of support for years. It is highly discouraged to use an outdated OS, as it will be full of security issues.

Without doubt, the only way to run Linux Containers on Windows Server 2012 R2 is to run a Linux VM and install docker-ce on it. This will be a manual task.

1 Like

Regarding old releases: don’t install old products. That would give you old Docker Engine which would not be compatibe with new Docker image formats.

1 Like

Thanks everyone for your answers! For what I got, then I shouldn’t try the old Docker Toolbox, after all my Linux container was developed in a recent version of Docker.

The server belongs to a customer, and it already runs lots of services on it, so I can’t upgrade it to a newer Windows Server (or Linux) version.

Then the only solution is to create a Linux VM and install docker on it