Windows Server 2019 does not support Docker Desktop.
Here’s a detailed explanation:
❌ Why Docker Desktop is not supported on Windows Server 2019:
-
Docker Desktop is officially designed and supported for:
- Windows 10 (Pro, Enterprise)
- Windows 11 (Pro, Enterprise)
- Windows 10/11 Enterprise LTSC
- Windows 11 IoT Enterprise
-
It requires Windows Features like WSL 2 (Windows Subsystem for Linux 2) or Hyper-V, and a client version of Windows with specific components that are either missing or not fully compatible in Windows Server 2019.
-
Docker Desktop relies on a Linux VM (via WSL2 or Hyper-V) to run containers, and the integration layer is not officially supported on Server SKUs.
✅ What you can use instead on Windows Server 2019:
Option 1: Docker Engine (via Docker EE / Mirantis Container Runtime)
- You can install Docker Engine natively on Windows Server 2019 using Docker Enterprise Edition (EE) components.
- Mirantis now maintains Docker Enterprise tools.
Steps to install Docker Engine on Windows Server 2019:
# Install the DockerMsftProvider to install Docker
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# Install Docker
Install-Package -Name docker -ProviderName DockerMsftProvider
# Restart the computer
Restart-Computer -Force
After installation:
# Start Docker service
Start-Service docker
# Test
docker --version
docker run hello-world:nanoserver
Note: You can only run Windows containers, not Linux containers unless you have a Linux VM.
Option 2: Use containerd + Kubernetes (e.g., with Rancher or Mirantis)
For production environments, many organizations use:
- containerd as the container runtime
- Kubernetes (K8s) for orchestration
- Tools like Rancher or Mirantis Kubernetes Engine (MKE)
Option 3: Upgrade to Windows Server 2022 (if possible)
- Better container support
- Improved WSL2 and container runtime compatibility
- Still doesn’t support Docker Desktop, but better support for modern container tools.
Summary
| Goal | Solution |
|---|---|
| Run Docker on Windows Server 2019 | ✅ Use Docker Engine via DockerMsftProvider |
| Use Docker Desktop GUI | ❌ Not supported |
| Run Linux containers | ⚠️ Only via a Linux VM (not natively) |
| Production container host | ✅ Use Docker Engine or containerd |
Official References:
- Docker Desktop Windows Requirements
- Install Docker Engine on Windows Server
If you’re looking for a GUI, consider using Portainer with Docker Engine:
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v portainer_data:/data portainer/portainer-ee:latest
Let me know if you want a full step-by-step guide to set up Docker Engine + Portainer on Windows Server 2019!
秒懂云