在 Windows Server 2022 上使用 Docker,你可以选择以下两种主要方式之一:
- 使用 Microsoft 的容器支持(推荐):通过安装 Docker Desktop for Windows Server 或更现代的方式 —— 使用 containerd + Docker CLI(即 Moby 项目组件),或直接使用 Microsoft’s Container Tools。
- 使用 Windows 容器(原生支持):Windows Server 2022 原生支持运行 Windows 容器 和有限的 Linux 容器(通过 WSL2,但服务器版不默认支持 WSL2)。
🚀 推荐方案:在 Windows Server 2022 上安装 Docker
⚠️ 注意:Docker Desktop 官方不再支持 Windows Server。因此,我们推荐使用 Docker Engine 的社区版本(Moby),通过 PowerShell 安装。
✅ 步骤 1:启用容器功能
以管理员身份打开 PowerShell 并运行:
# 安装容器功能
Install-WindowsFeature -Name Containers
# 重启服务器
Restart-Computer -Force
✅ 步骤 2:安装 Microsoft 更新源和容器工具
# 安装 PowerShell 包管理工具(如果未安装)
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
# 注册 Microsoft 更新源(用于获取容器相关模块)
Register-PSRepository -Name Microsoft -SourceLocation https://aka.ms/ContainerModule -InstallationPolicy Trusted
# 安装容器工具模块
Install-Module -Name Microsoft.Windows.Server.Containers.Tools -Repository Microsoft
✅ 步骤 3:安装 Docker Engine(Moby)
# 下载并安装 Docker Engine(Moby)
Invoke-WebRequest "https://github.com/moby/moby/releases/download/v24.0.7/DockerMsftProvider.zip" -OutFile "DockerMsftProvider.zip"
Expand-Archive DockerMsftProvider.zip -DestinationPath $env:ProgramFilesWindowsPowerShellModules
Remove-Item DockerMsftProvider.zip
# 安装 Docker
Install-Module -Name DockerMsftProvider -Force
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
# 启动 Docker 服务
Start-Service docker
# 设置开机自启
Set-Service docker -StartupType Automatic
💡 提示:你也可以使用
Update-Package -Name docker -ProviderName DockerMsftProvider来更新 Docker。
✅ 步骤 4:验证安装
# 查看 Docker 版本
docker --version
# 查看信息
docker info
你应该能看到类似输出:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 24.0.7
...
✅ 步骤 5:运行第一个容器(Windows 容器)
# 拉取一个 Windows Server Core 镜像(根据你的系统版本选择)
docker pull mcr.microsoft.com/windows/servercore:iiswindowsserver
# 运行一个 IIS 容器
docker run -d -p 8080:80 --name myiis mcr.microsoft.com/windows/servercore/iis
# 访问 http://localhost:8080 看到 IIS 欢迎页
⚠️ 注意:Windows 容器必须与宿主机版本兼容(如 Windows Server 2022 对应镜像 tag 为
ltsc2022)。
例如:
docker pull mcr.microsoft.com/windows/servercore:ltsc2022
✅ 可选:安装 Docker CLI 工具(如 docker-compose)
# 安装 Docker Compose
Invoke-WebRequest "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-windows-x86_64.exe" -UseBasicParsing -OutFile $env:ProgramFilesDockerdocker-compose.exe
然后就可以使用:
docker-compose --version
❌ 不支持的功能说明
- Docker Desktop:不支持 Windows Server,仅支持 Windows 10/11 Pro/Enterprise。
- WSL2 后端:Windows Server 默认不支持 WSL2,因此无法运行 Linux 容器(除非你手动配置特殊 Hyper-V 虚拟机)。
- Linux 容器:Windows Server 2022 不能原生运行 Linux 容器,除非你使用双层虚拟化(不推荐生产环境)。
✅ 生产建议
- 使用 Kubernetes + containerd 管理容器(如 AKS-Engine、Rancher、OpenShift)。
- 或继续使用 Docker CLI + Windows 容器 进行简单部署。
- 镜像尽量使用
mcr.microsoft.com官方来源,确保安全。
🔗 参考资料
- Microsoft 容器文档
- Docker Engine on Windows
- Moby GitHub 发布页
如果你希望运行 Linux 容器,建议改用 Windows 11 + WSL2 + Docker Desktop,或使用 Linux 服务器(如 Ubuntu + Docker) 更合适。
如有具体应用场景(如部署 ASP.NET 应用),欢迎继续提问!
秒懂云