在 Windows Server 2022 Datacenter 上安装 Docker,需要使用 Docker Desktop for Windows 或更推荐的方案:Microsoft 的容器运行时(通过 Moby 和 containerd)配合 Docker CLI 工具。由于 Docker Desktop 在企业环境中可能受限(需要许可证),通常推荐使用 Microsoft 官方支持的容器方案。
以下是两种主流方式:
✅ 推荐方式一:使用 Microsoft 容器功能 + Docker CLI(适用于生产环境)
这是微软官方推荐的方式,基于原生 Windows 容器支持,无需 Docker Desktop 许可证。
步骤 1:启用容器功能
以管理员身份打开 PowerShell 并运行:
# 安装容器功能
Install-WindowsFeature -Name Containers
# 重启服务器(必须)
Restart-Computer -Force
步骤 2:安装 Microsoft 提供的容器运行时(Moby)
从 GitHub 获取并安装 Moby(微软维护的 Windows 版本):
# 下载并安装最新版 Moby(示例命令)
Invoke-WebRequest -Uri "https://github.com/moby/moby/releases/download/v24.0.7/moby-engine-24.0.7.zip" -OutFile "moby.zip"
Expand-Archive -Path "moby.zip" -DestinationPath $env:ProgramFilesmoby
Remove-Item -Path "moby.zip"
# 添加到系统路径
[Environment]::SetEnvironmentVariable("Path", "$env:Path;$env:ProgramFilesmoby", [EnvironmentVariableTarget]::Machine)
$env:Path += ";$env:ProgramFilesmoby"
🔍 注意:请访问 https://github.com/moby/moby/releases 查找最新的 Windows 支持版本,确保兼容性。
步骤 3:启动并设置容器服务
# 注册并启动 dockerd 服务
& $env:ProgramFilesmobydockerd.exe --register-service
Start-Service docker
这会将
dockerd注册为 Windows 服务,并自动启动。
步骤 4:安装 Docker CLI(可选但推荐)
虽然 dockerd 包含 docker.exe,但建议单独安装 Docker CLI 以便更新管理:
Invoke-WebRequest -Uri "https://download.docker.com/win/static/stable/x86_64/docker-24.0.7.zip" -OutFile "docker.zip"
Expand-Archive -Path "docker.zip" -DestinationPath $env:ProgramFilesdocker
Remove-Item -Path "docker.zip"
# 添加到 PATH
[Environment]::SetEnvironmentVariable("Path", "$env:Path;$env:ProgramFilesdocker", [EnvironmentVariableTarget]::Machine)
$env:Path += ";$env:ProgramFilesdocker"
步骤 5:验证安装
docker --version
docker info
你应该能看到类似输出:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 24.0.7
...
⚠️ 方式二:使用 Docker Desktop for Windows(非推荐用于 Server 生产)
Docker Desktop 可以在 Windows Server 上运行,但它主要用于开发环境,且从 2021 年起要求商业用户拥有有效订阅(付费许可证)。
如果你仍想尝试:
-
确保系统启用了 Hyper-V 和 容器功能:
Install-WindowsFeature -Name Hyper-V, Containers -IncludeManagementTools Restart-Computer -
下载 Docker Desktop Installer:
https://www.docker.com/products/docker-desktop/ -
安装后需登录账户并确保有有效的企业许可证,否则无法在企业环境中合法使用。
❌ 不推荐在 Windows Server 生产环境使用 Docker Desktop,尤其是无许可证时。
🐳 测试运行一个 Windows 容器
docker run --rm mcr.microsoft.com/windows/nanoserver:ltsc2022 echo "Hello from Windows Container!"
注意:你必须拉取与主机 OS 版本兼容的镜像(如 LTSC2022)。不支持跨版本运行。
🔧 常见问题解决
| 问题 | 解决方法 |
|---|---|
Error starting daemon: bind: An attempt was made to access a socket in a way forbidden by its access permissions. |
确保没有其他程序占用端口,或重置网络配置 |
| 镜像拉取失败 | 检查防火墙、X_X设置,确认使用正确的 Windows 镜像标签 |
| 版本不兼容 | Windows Server 2022 应使用 ltsc2022 镜像 |
✅ 总结
| 方法 | 是否推荐 | 说明 |
|---|---|---|
| Microsoft 容器 + Moby + Docker CLI | ✅ 强烈推荐 | 免费、稳定、适合生产 |
| Docker Desktop | ⚠️ 仅限开发/测试 | 需要许可证,不适合 Server 生产部署 |
✅ 最佳实践建议:
- 使用 PowerShell 脚本自动化部署
- 结合 Kubernetes (AKS-HCI 或 kubeadm) 实现编排
- 使用 Windows Admin Center 图形化管理容器
如需我提供一键安装脚本或 Ansible 配置,请告诉我。
是否需要我为你生成一个完整的自动化 PowerShell 安装脚本?
秒懂云