在 Windows Server 2022 标准版上安装 Docker,需要通过 Docker Desktop 或使用 Microsoft 的容器功能 + Docker Engine(Moby) 来实现。但请注意:
⚠️ Docker Desktop 不支持 Windows Server 操作系统(包括 Server 2022),它仅支持 Windows 10/11 Pro 或 Enterprise。
因此,在 Windows Server 2022 上安装 Docker,推荐的方式是:
✅ 方案一:使用 Microsoft 官方支持的容器功能 + Docker Engine(推荐)
步骤 1:启用容器功能
以管理员身份打开 PowerShell 并运行:
# 安装容器功能
Install-WindowsFeature -Name Containers
# 重启服务器
Restart-Computer -Force
步骤 2:安装并配置容器主机(可选)
安装完成后,系统就具备了运行 Windows 容器的能力。
步骤 3:安装 Docker Engine(使用 PowerShell 脚本)
微软与 Docker 合作提供了一个脚本,用于在 Windows Server 上安装 Docker Engine(实际上是 Moby 引擎)。
1. 下载并安装 DockerMsftProvider
# 安装 NuGet 包管理器(如果尚未安装)
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
# 注册 Docker 的 Microsoft 提供程序
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 安装 Docker Engine
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
2. 重启系统
Restart-Computer -Force
3. 验证 Docker 是否正常运行
docker --version
docker run hello-world:nanoserver
注意:
hello-world:nanoserver是适用于 Windows 容器的镜像。
步骤 4:(可选)设置 Docker 开机自启
Set-Service Docker -StartupType Automatic
✅ 方案二:使用 Windows Subsystem for Linux 2 (WSL2) + Docker Desktop(不推荐用于生产)
虽然 Docker Desktop 不支持 Windows Server,但如果你只是为了开发测试,且你的 Windows Server 2022 支持 WSL2,可以尝试以下方式:
⚠️ 注意:这属于非官方支持场景,不适合生产环境
1. 启用 WSL 和虚拟机功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /all /norestart
重启服务器。
2. 安装 WSL2 内核更新包(从微软官网下载)
https://aka.ms/wsl2kernel
3. 设置 WSL2 为默认版本
wsl --set-default-version 2
4. 安装一个 Linux 发行版(如 Ubuntu)
从 Microsoft Store 或手动导入。
5. 在 WSL2 中安装 Docker Engine
进入 WSL 环境后,按 Linux 方式安装 Docker:
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
6. (可选)在 Windows 上运行 Docker Desktop(需破解或绕过检测)
⚠️ 这违反 Docker 使用条款,不建议用于正式环境。
🔍 常见问题
❌ “Docker Desktop is not supported on Windows Server”
这是正常的,Docker Desktop 明确不支持任何 Windows Server 版本。
❓ 我应该用哪种容器类型?
- Windows 容器:使用
nanoserver,windowsservercore镜像。 - Linux 容器:Windows Server 不支持直接运行 Linux 容器,除非通过 WSL2。
✅ 推荐方案总结
| 目标 | 推荐方案 |
|---|---|
| 生产环境运行 Windows 容器 | 使用 Install-Package -Name docker 安装原生 Docker Engine |
| 测试/开发 Linux 容器 | 启用 WSL2 + 在 Linux 子系统中安装 Docker |
| 图形化管理 | 使用 Portainer 等工具管理 Docker |
🛠️ 可选:安装 Portainer(Docker 管理界面)
docker volume create portainer_data
docker run -d -p 9443:9443 --name portainer `
--restart always `
-v \.pipedocker_engine:\.pipedocker_engine `
-v portainer_data:C:data `
portainer/portainer-ee:latest
访问:https://localhost:9443
如有进一步需求(如部署 ASP.NET 应用、使用 Kubernetes 等),欢迎继续提问!
CLOUD技术博