在 Windows Server 2022 标准版 上安装 Docker,需要使用 Docker Desktop for Windows 或更推荐的 Microsoft 提供的容器功能 + Docker Engine(通过 PowerShell 安装)。由于 Docker Desktop 对 Windows Server 的支持有限(主要面向 Windows 10/11 和 Windows Server Insider 版本),通常建议在 Windows Server 上使用原生的 容器功能 并配合 Docker Engine(通过 Docker-Microsoft PowerShell Module 或直接安装)。
以下是详细的安装步骤:
✅ 方法一:使用 PowerShell 安装 Docker Engine(推荐用于生产环境)
步骤 1:启用容器功能
以管理员身份打开 PowerShell,运行以下命令:
# 启用容器功能
Install-WindowsFeature -Name Containers
# 重启服务器
Restart-Computer -Force
⚠️ 注意:必须重启才能完成功能安装。
步骤 2:安装 Microsoft 的 Docker Provider(可选但推荐)
这个模块可以帮助你更方便地安装和管理 Docker。
# 安装 NuGet 包提供者
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
# 安装 Microsoft-DockerProvider
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 使用该提供者安装 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
步骤 3:重启系统并验证 Docker 安装
Restart-Computer -Force
重启后,验证 Docker 是否正常运行:
# 查看 Docker 版本
docker --version
# 查看服务状态
Get-Service docker
# 启动 Docker 服务(如果未自动运行)
Start-Service docker
步骤 4:测试运行一个容器
docker run hello-world:nanoserver
注意:Windows 容器镜像需与宿主机 OS 版本兼容。Windows Server 2022 应使用
nanoserver:ltsc2022或mcr.microsoft.com/windows/nanoserver:ltsc2022等镜像。
示例:
docker run mcr.microsoft.com/windows/nanoserver:ltsc2022 echo "Hello from NanoServer!"
✅ 方法二:使用 Docker Desktop(不推荐用于 Windows Server 2022 生产环境)
Docker Desktop 官方 不正式支持 Windows Server 2022,仅支持特定版本的 Windows 10/11 和 Windows Server Insider Preview。因此,不建议在生产环境中使用 Docker Desktop。
如果你仍想尝试(仅限测试):
- 下载 Docker Desktop Installer(从 https://www.docker.com/products/docker-desktop)
- 确保系统已启用 WSL2 或 Hyper-V(Windows Server 默认支持 Hyper-V)
- 运行安装程序(可能报错或无法安装)
❌ 结论:Docker Desktop 不支持 Windows Server 2022 标准版,官方文档明确指出其支持范围不包括该系统。
✅ 配置建议
-
设置 Docker 开机自启:
Set-Service docker -StartupType Automatic -
配置 Docker 镜像(国内用户)
编辑或创建配置文件:mkdir "C:ProgramDataDockerconfig" notepad "C:ProgramDataDockerconfigdaemon.json"写入内容(例如使用阿里云镜像):
{ "registry-mirrors": ["https://<your-mirror>.mirror.aliyuncs.com"] }替换
<your-mirror>为你的实际地址(登录阿里云容器镜像服务获取)。保存后重启 Docker 服务:
Restart-Service docker
✅ 常见问题排查
| 问题 | 解决方法 |
|---|---|
docker : The term 'docker' is not recognized |
重启后 PATH 可能未加载,重新打开 PowerShell 或执行 Import-Module DockerMsftProvider |
| 容器启动失败,提示版本不匹配 | 使用与 Windows Server 2022 兼容的镜像(如 ltsc2022) |
| 无法拉取镜像 | 检查网络、防火墙、是否配置了镜像 |
✅ 总结
| 项目 | 推荐方案 |
|---|---|
| 操作系统 | Windows Server 2022 标准版 |
| 容器运行时 | Docker Engine via PowerShell |
| 安装方式 | Install-Package -Name docker -ProviderName DockerMsftProvider |
| Docker Desktop | ❌ 不支持,不推荐 |
✅ 最终建议:
在 Windows Server 2022 上使用 原生容器功能 + Docker Engine 是最稳定、官方支持的方式。避免使用 Docker Desktop。
如需进一步自动化部署,可考虑使用 Kubernetes on Windows 或 Podman(实验性支持)。
如有具体应用场景(如 ASP.NET 容器化),欢迎继续提问!
云计算