在 Windows Server 2022 Standard 上安装 Docker,需要使用 Docker Desktop for Windows 或更推荐的方式:通过 Microsoft 的容器功能(Container Feature)配合 Docker Engine(或 Moby) 来运行容器。由于 Windows Server 不支持 Docker Desktop(Docker Desktop 要求 Windows 10/11 Pro 或 Enterprise),因此我们通常采用以下方式:
✅ 推荐方案:在 Windows Server 2022 上安装 Docker Engine(使用 Microsoft 容器功能 + Docker-Microsoft 提供的引擎)
步骤 1:启用容器功能
以管理员身份打开 PowerShell 并运行:
# 安装容器功能
Install-WindowsFeature -Name Containers
安装完成后需重启服务器。
Restart-Computer -Force
步骤 2:安装 Microsoft 更新(可选但建议)
确保系统已更新到最新补丁,某些旧版本存在容器兼容性问题。
步骤 3:安装 Docker Engine(使用 PowerShell 脚本)
微软与 Docker 合作提供了一个便捷脚本来安装 Docker Engine。
以管理员身份运行 PowerShell:
# 安装并配置 Docker
Invoke-WebRequest "https://github.com/moby/moby/releases/latest/download/install.ps1" -UseBasicParsing | Invoke-Expression
或者使用官方推荐脚本(更稳定):
# 下载并运行官方安装脚本
Invoke-WebRequest -Uri https://get.docker.com/win/server -OutFile .docker-install.ps1
.docker-install.ps1
注意:
get.docker.com/win/server是为 Windows Server 设计的安装脚本,会自动安装适合的 Docker Engine(Moby 分支)。
步骤 4:将 Docker 添加到 PATH 环境变量(如果未自动添加)
安装完成后,Docker 可执行文件通常位于:
C:Program Filesdocker
将其添加到系统 PATH:
$env:Path += ";C:Program Filesdocker"
[Environment]::SetEnvironmentVariable("Path", $env:Path, [System.EnvironmentVariableTarget]::Machine)
步骤 5:启动 Docker 服务并设置开机自启
Start-Service docker
Set-Service docker -StartupType Automatic
步骤 6:验证安装
docker --version
docker run hello-world:nanoserver
注意:Windows 容器镜像必须与主机系统版本兼容。
hello-world:nanoserver是一个轻量级测试镜像。
✅ 补充说明
1. 支持的容器类型
- Windows Server 2022 使用的是 Windows 容器(非 Linux 容器)
- 如果你希望运行 Linux 容器,需要启用 WSL2 或 Hyper-V 配合 LCOW(Linux Containers on Windows),但这在 Windows Server 上支持有限且不推荐用于生产。
所以默认只运行 Windows 容器。
2. 镜像兼容性
Windows 容器对 OS 版本要求严格。例如:
- Windows Server 2022 内核版本:10.0.20348
- 应使用基于
ltsc2022的镜像,如:mcr.microsoft.com/windows/servercore:ltsc2022 mcr.microsoft.com/windows/nanoserver:ltsc2022
❌ 不支持的内容
- Docker Desktop 无法在 Windows Server 2022 上安装(仅支持 Windows 10/11 Pro/Enterprise)
- 不推荐使用第三方打包的 Docker 工具
✅ 可选:使用 Containerd 替代 Docker Engine(高级用户)
微软也在推动使用 containerd 作为容器运行时(尤其在 Kubernetes 场景中)。可通过以下方式安装:
# 下载 containerd
curl -L https://github.com/containerd/containerd/releases/download/v1.7.0/containerd-1.7.0-windows-amd64.tar.gz -o containerd.tar.gz
tar -xzf containerd.tar.gz -C "C:"
# 安装服务
.containerdcontainerd.exe --register-service
Start-Service containerd
然后配合 ctr 或 crictl 使用。
总结
| 步骤 | 操作 |
|---|---|
| 1 | 启用 Containers 功能 |
| 2 | 重启服务器 |
| 3 | 使用脚本安装 Docker Engine (get.docker.com/win/server) |
| 4 | 添加路径、启动服务 |
| 5 | 测试运行 Windows 容器 |
如果你有具体用途(如部署 ASP.NET 应用、SQL Server 容器等),可以进一步提供需求,我可以给出对应的 Dockerfile 和运行命令示例。
是否需要我提供一键安装脚本?
秒懂云