在腾讯云服务器上为 Windows Server 2022(你提到的“2021”可能是笔误,目前最新版本是 Windows Server 2022)安装 Docker,可以通过以下步骤实现。但请注意:
❗ Windows Server 默认不支持原生 Docker Desktop,Docker Desktop 主要面向 Windows 10/11 Pro 或 Enterprise 版本,且需要 WSL2 和 Hyper-V 支持。
而 Windows Server 可以通过容器功能运行 Windows 容器,使用的是 Docker Engine for Windows Server(也称 Docker EE,现已由 Mirantis 接管)。
✅ 目标:在 Windows Server 2022 上安装 Docker 并运行 Windows 容器
步骤 1:启用容器和 Hyper-V 功能(推荐)
# 以管理员身份运行 PowerShell
# 启用 Hyper-V(如果你的实例支持虚拟化嵌套)
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V, Microsoft-Hyper-V-Management-Clients, Microsoft-Hyper-V-Management-PowerShell -All
# 启用容器功能
Enable-WindowsOptionalFeature -Online -FeatureName Containers -All
⚠️ 注意:
- 腾讯云 CVM 实例默认可能 未开启嵌套虚拟化,Hyper-V 可能无法启动。
- 如果无法启用 Hyper-V,仍可运行 Windows 容器,但不能运行 Linux 容器(除非使用模拟,性能差)。
步骤 2:重启服务器
Restart-Computer
步骤 3:安装 Docker Engine(Windows 版)
使用 PowerShell 安装 Docker Engine:
# 下载并安装 DockerMsftProvider(用于从微软仓库安装 Docker)
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 安装 Docker Engine
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
# 添加开机自启
Start-Service docker
Set-Service docker -StartupType Automatic
步骤 4:验证安装
docker --version
docker info
你应该能看到类似输出:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 20.10.9
...
Operating System: Windows Server 2022 Datacenter
...
步骤 5:运行第一个容器(Windows 容器)
docker run hello-world:nanoserver
或者拉取一个 IIS 镜像测试:
docker run -d -p 80:80 mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022
然后在浏览器访问你的公网 IP,看是否显示 IIS 欢迎页。
🔁 可选:升级 Docker 版本(推荐使用 Mirantis 版本)
由于微软已将 Docker EE 移交给 Mirantis,建议使用官方维护更活跃的版本:
👉 访问:https://mirantis.com/blog/how-to-install-docker-engine-on-windows-server-2022/
或使用脚本安装最新版:
# 卸载旧版(可选)
Uninstall-Package -Name docker -ProviderName DockerMsftProvider
# 手动下载并安装最新 .zip 包(来自 Mirantis)
$dockerZip = "https://github.com/Mirantis/containernetworking/releases/download/v0.9.0/docker-20.10.9.zip"
Invoke-WebRequest -Uri $dockerZip -OutFile "$env:TEMPdocker.zip" -UseBasicParsing
Expand-Archive -Path "$env:TEMPdocker.zip" -DestinationPath $env:ProgramFiles -Force
Remove-Item "$env:TEMPdocker.zip"
# 添加到 PATH
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";$env:ProgramFilesdocker", [System.EnvironmentVariableTarget]::Machine)
$env:Path += ";$env:ProgramFilesdocker"
# 注册服务
dockerd --register-service
Start-Service docker
🧩 补充说明
| 项目 | 说明 |
|---|---|
| 是否支持 Linux 容器? | ❌ 不支持(除非开启 WSL2 + Hyper-V,但云服务器通常不支持嵌套虚拟化) |
| 支持什么容器? | ✅ 仅支持 Windows 容器(如 nanoserver, servercore) |
| 镜像来源 | mcr.microsoft.com/windows/... |
| 常见用途 | 运行 .NET Framework/.NET Core Windows 应用、IIS、SQL Server on Windows 等 |
🛑 不推荐的方式:尝试安装 Docker Desktop
Docker Desktop 不支持 Windows Server 系统,即使强行安装也会报错或无法运行。请勿尝试。
✅ 总结
在腾讯云 Windows Server 2022 上安装 Docker 的正确方式是:
- 启用
Containers功能 - 使用
DockerMsftProvider安装 Docker Engine - 运行 Windows 容器(如 IIS、.NET 应用等)
如需运行 Linux 容器,建议改用 Linux 系统的腾讯云 CVM(如 Ubuntu/CentOS),再安装 Docker,体验更好。
如有具体应用场景(如部署 ASP.NET 网站),欢迎补充,我可以提供完整部署方案。
ECLOUD博客