在 Windows Server 2022 Datacenter 上安装 Docker,需要使用 Docker Desktop for Windows 或更推荐的 Microsoft 提供的容器支持 + Docker Engine(通过 PowerShell 安装)。但请注意:
Docker Desktop 不直接支持 Windows Server 系统(仅支持 Windows 10/11 Pro/Enterprise),因此在 Windows Server 2022 上通常不使用 Docker Desktop。
✅ 正确的做法是:安装 Microsoft 的“容器”功能,并使用 Docker Engine for Windows(由 Mirantis 维护)
✅ 推荐方式:在 Windows Server 2022 上安装 Docker Engine
步骤 1:启用“容器”功能
以管理员身份打开 PowerShell,运行:
# 安装容器功能
Install-WindowsFeature -Name Containers
# 重启服务器
Restart-Computer -Force
步骤 2:下载并安装 Docker Engine
微软与 Mirantis 合作维护适用于 Windows 的 Docker Engine。
方法一:使用 PowerShell 脚本自动安装(推荐)
# 安装并导入 PowerShell 模块
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
# 重启服务器
Restart-Computer -Force
这个方法会从 Microsoft 的官方源安装最新稳定版 Docker Engine。
方法二:手动下载安装包(可选)
前往:
👉 https://github.com/mirantis/containers/tree/master/script
或使用官方镜像站点下载 .zip 包:
# 下载 Docker daemon
Invoke-WebRequest "https://download.docker.com/components/engine/windows-server/docker-24.0.7.zip" -OutFile "docker.zip" -UseBasicParsing
# 解压
Expand-Archive docker.zip -DestinationPath $env:ProgramFiles
# 添加 Docker 到系统路径
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";" + "$env:ProgramFilesdocker", [EnvironmentVariableTarget]::Machine)
# 添加到当前会话路径
$env:Path += ";$env:ProgramFilesdocker"
# 注册 Docker 服务
dockerd --register-service
# 启动服务
Start-Service docker
版本号
24.0.7可替换为最新版本,请参考 Docker 官方发布页面。
步骤 3:验证安装
docker --version
docker run hello-world:nanoserver
注意:你需要拉取 Windows 容器镜像,如
nanoserver,windowsservercore,不能运行 Linux 容器(除非开启 LCOW,但支持有限)。
步骤 4:配置开机自启(可选)
Docker 服务默认已注册为自动启动,检查:
Get-Service docker
确保状态为 Running,启动类型为 Automatic。
🔔 注意事项
-
必须使用 Windows 容器
默认情况下,Windows Server 只能运行 Windows 容器(基于 Nano Server 或 Server Core 镜像)。 -
不要尝试安装 Docker Desktop
Docker Desktop 不支持 Windows Server,强行安装可能导致问题。 -
确保系统更新到最新补丁
某些旧版本存在容器兼容性问题。 -
网络模式限制
NAT 是默认网络模式,也可配置 Transparent 或 L2 Bridge。 -
存储驱动为 windowsfilter
使用docker info查看驱动信息。
📦 常用命令示例
# 拉取基础镜像
docker pull mcr.microsoft.com/windows/nanoserver:ltsc2022
docker pull mcr.microsoft.com/windows/servercore:ltsc2022
# 运行一个测试容器
docker run --rm mcr.microsoft.com/windows/nanoserver:ltsc2022 echo "Hello from Windows Container!"
# 查看正在运行的容器
docker ps
# 查看所有容器
docker ps -a
✅ 总结
| 项目 | 说明 |
|---|---|
| 是否支持 Docker? | ✅ 支持(通过 Docker Engine) |
| 是否支持 Docker Desktop? | ❌ 不支持 |
| 安装方式 | PowerShell + Containers 功能 |
| 容器类型 | 仅 Windows 容器(推荐 LTSC 镜像) |
| 推荐工具链 | Docker CLI + Windows Server 容器 |
如果你希望使用 Kubernetes 或更高级编排,建议结合 Microsoft’s AKS-HCI 或 OpenShift for Windows Containers。
如有进一步需求(如部署 ASP.NET 应用、IIS 容器化等),欢迎继续提问!
CLOUD技术博