在 Windows Server 2022 上跑 Docker,核心逻辑其实就两步:先装好容器引擎(Docker Desktop for Windows 或 WSL2 后端),再配置运行环境。但要注意,Windows Server 2022 默认是“服务器核心”或带 GUI 的完整安装版,且微软对容器支持有特定路径,不能直接照搬 Linux 那一套 apt install 命令。
以下是实操步骤(基于带图形界面的完整安装版,若为 Core 版本需先启用 GUI 或改用远程桌面操作):
一、前置条件检查
-
系统版本确认
打开 PowerShell(管理员),执行:Get-ComputerInfo | Select-Object CsProduct, OsArchitecture确保输出中包含
Windows Server 2022 Datacenter或Standard,架构为x64。 -
启用必要功能
Docker on Windows 依赖 Hyper-V 和容器相关组件。在 PowerShell(管理员)中运行:Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All Enable-WindowsOptionalFeature -Online -FeatureName Containers -All Restart-Computer⚠️ 注意:重启后需重新以管理员身份打开 PowerShell。
-
WSL2 支持(推荐方式)
Windows Server 2022 原生支持 WSL2,这是目前最稳定高效的方案:wsl --install # 或直接指定发行版(如 Ubuntu) wsl --install -d Ubuntu首次运行会自动创建默认 WSL2 实例并设置默认发行版。
二、安装 Docker Desktop(官方推荐)
-
访问官网下载最新版 Docker Desktop for Windows
→ 选择 "Windows Server" 兼容版本(通常标记为 "For Windows Server 2019/2022")。 -
安装时勾选:
- ✅ Use WSL 2 instead of Hyper-V(关键选项)
- ✅ Start Docker when you log in(可选)
-
安装完成后启动 Docker Desktop,等待右下角托盘图标变绿(表示引擎就绪)。
💡 提示:若使用 WSL2 后端,Docker Desktop 会自动集成到 WSL2 环境中,无需额外配置。
三、验证安装是否成功
在 PowerShell(普通用户即可)中执行:
docker version
docker run hello-world
若看到类似 Hello from Docker! 的输出,说明一切正常。
四、常见问题排查
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
Cannot connect to the Docker daemon |
Docker 服务未启动 | 检查任务栏 Docker 图标是否绿色;重启 Docker Desktop |
| WSL2 报错 "Kernel not found" | WSL2 内核未更新 | 在 WSL 终端运行 wsl --update |
| 权限拒绝(Permission denied) | 当前用户不在 docker 组 | 将当前用户加入 docker 组:net localgroup docker <用户名> /add(需在 WSL 内执行) |
| 镜像拉取失败 | 网络X_X问题 | 配置 Docker X_X:编辑 C:Users<用户名>AppDataLocalDockersettings.json 添加 "proxies": {...} |
五、替代方案(不推荐新手)
如果无法安装 Docker Desktop(如纯 Core 环境),可考虑:
- 手动部署 Docker Engine for Windows(需自行编译或从 GitHub 获取构建包)
- 使用 Kubernetes + Azure Arc 等云原生方案(适合企业级场景)
但强烈建议优先采用 Docker Desktop + WSL2 组合,维护成本最低,兼容性最好。
最后提醒:Windows Server 上的容器性能略低于 Linux,生产环境建议评估是否迁移至 Linux 发行版(如 Ubuntu 22.04 LTS)。若必须用 Windows Server,请确保关闭不必要的后台服务以释放资源。
云知道CLOUD