在 Windows Server 2022 标准版上安装 Docker,需要通过 Docker Desktop 或 独立的容器运行时(如 Docker Engine via Microsoft’s LCOW 支持) 来实现。但请注意:
⚠️ Docker Desktop 官方不支持 Windows Server 操作系统(包括 Windows Server 2022),它仅支持 Windows 10/11 Pro 或 Enterprise。
因此,在 Windows Server 2022 上无法直接安装 Docker Desktop。但你可以使用 原生 Windows 容器(Windows Containers) 功能来运行容器化应用。
✅ 正确做法:在 Windows Server 2022 上启用并使用原生 Windows 容器
第一步:启用容器功能
以管理员身份打开 PowerShell 并运行:
# 安装容器功能
Install-WindowsFeature -Name Containers
# 重启服务器
Restart-Computer -Force
第二步:安装容器运行时(推荐使用 Microsoft 提供的工具)
方法一:使用 Microsoft's Container Host Tools
+ Docker Engine(社区版)
微软提供了一个轻量级方式来运行 Docker 引擎(Docker Engine on Windows)。
- 下载并安装 Docker Engine:
# 使用 PowerShell 安装最新版本的 Docker-Microsoft PackageManagement Provider
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 安装 Docker Engine
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
# 重启服务器(可选,但建议)
Restart-Computer -Force
⚠️ 注意:
DockerMsftProvider
的更新已逐渐被弃用,建议手动下载或使用其他方法。
方法二(推荐):手动安装最新版 Docker Engine(社区版)
由于 DockerMsftProvider
已不再积极维护,建议手动安装。
1. 下载 Docker for Windows Server 二进制文件
前往 GitHub 发布页:
👉 https://github.com/docker/docker-ce/releases
找到最新的版本,例如:
https://download.docker.com/win/static/stable/x86_64/docker-24.0.7.tgz
使用 PowerShell 下载并解压:
# 创建目录
New-Item -ItemType Directory -Path "C:Program FilesDocker" -Force
# 下载(替换为最新链接)
Invoke-WebRequest -Uri "https://download.docker.com/win/static/stable/x86_64/docker-24.0.7.tgz" -OutFile "docker.tgz"
# 解压
tar -xvf docker.tgz -C "C:Program FilesDocker"
Remove-Item docker.tgz
2. 将 Docker 添加到系统路径
$env:PATH += ";C:Program FilesDocker"
[Environment]::SetEnvironmentVariable("PATH", $env:PATH, [EnvironmentVariableTarget]::Machine)
重启 PowerShell 或服务器后生效。
3. 安装并启动 Docker 服务
# 安装服务
"C:Program FilesDockerdockerd.exe" --register-service
# 启动服务
Start-Service docker
可能会提示缺少依赖项,请确保已安装
.NET Framework 4.7.2+
和Visual C++ Redistributable
。
第三步:验证安装
# 查看 Docker 版本
docker version
# 运行测试容器(Windows 容器示例)
docker run mcr.microsoft.com/windows/servercore:ltsc2022 echo "Hello from Windows Container!"
第四步(可选):配置镜像提速(国内用户)
编辑或创建配置文件:
# 创建 daemon.json 配置文件
@"
{
"registry-mirrors": [
"https://<你的镜像提速地址>.mirror.aliyuncs.com"
]
}
"@ | Out-File -FilePath 'C:ProgramDatadockerconfigdaemon.json' -Encoding ASCII
获取阿里云镜像提速地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
然后重启 Docker 服务:
Restart-Service docker
❌ 不支持的功能
- Linux 容器(LCOW):虽然旧版支持,但在新版本中已被弃用。
- Docker Desktop GUI:不能在 Server 上运行。
- Kubernetes、Compose GUI 等高级功能:需额外配置。
✅ 替代方案(推荐用于生产环境)
如果你希望有更好的容器体验(尤其是混合 Linux/Windows 支持),建议:
使用 Windows Subsystem for Linux (WSL) + Linux VM + Docker
但这在 Server 上配置较复杂。
或者更佳选择:
使用 Azure Container Instances / Kubernetes Service (AKS)
或将工作负载迁移到 Linux 服务器 + Docker / Kubernetes
总结
目标 | 是否可行 | 推荐方式 |
---|---|---|
在 WinServer 2022 跑 Windows 容器 | ✅ 是 | 安装 Docker Engine 手动部署 |
使用 Docker Desktop | ❌ 否 | 不支持 Server 系统 |
跑 Linux 容器 | ⚠️ 有限支持(已弃用) | 不推荐 |
生产环境容器化 | ✅ 推荐使用 Linux 主机或 AKS | 更稳定高效 |
如有具体用途(如运行 IIS、.NET 应用等),我可以提供对应的 Dockerfile 示例和部署指导。欢迎继续提问!