在云服务器上使用 Windows Server 系统安装 Docker 是可行的,但需要注意以下几点:
⚠️ 重要前提:版本支持
Docker 在 Windows 上分为两种模式:
- Linux 容器(通过 WSL2 或 Hyper-V)
- Windows 容器
对于 Windows Server 系统,不支持 WSL2,因此只能运行 Windows 容器 或通过 Hyper-V 隔离的容器。
✅ 支持的系统版本:
- Windows Server 2019
- Windows Server 2022
- Windows Server, version 1809 及以上(长期服务频道或半年度频道)
✅ 步骤一:启用容器功能
以管理员身份运行 PowerShell:
# 安装容器功能
Install-WindowsFeature -Name Containers
# 重启服务器
Restart-Computer -Force
✅ 步骤二:安装 Microsoft 更新源工具(可选但推荐)
# 安装 PowerShell 包管理工具(如果未安装)
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
# 安装 Microsoft Update 源
Install-Module -Name PowerShellGet -Force -AllowClobber
Install-Module -Name PackageManagement -Force -AllowClobber
✅ 步骤三:安装 Docker Engine
推荐使用 Microsoft 提供的 Docker-Microsoft 安装方式(适用于 Windows Server)
方法 1:使用 OneGet 安装 Docker
# 添加 Docker 软件包源
Find-ContainerImage
# 安装 Docker
Install-ContainerImage -Name docker
# 或者使用 OneGet 安装 Docker Engine
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
这会自动下载并安装最新稳定版 Docker Engine。
✅ 步骤四:重启系统并启动 Docker 服务
# 重启服务器
Restart-Computer -Force
重启后,Docker 服务会自动注册为 dockerd 服务。
你可以检查服务状态:
Get-Service docker
如果没有启动,手动启动:
Start-Service docker
✅ 步骤五:验证安装
docker --version
docker info
你应该能看到类似输出:
Docker version 20.10.xx, build xxxxx
✅ 测试运行一个 Windows 容器
docker run hello-world:nanoserver
或者拉取一个 IIS 示例:
docker run -d -p 80:80 mcr.microsoft.com/windows/servercore/iis
访问服务器公网 IP,应该能看到 IIS 欢迎页。
🔧 常见问题与注意事项
| 问题 | 解决方案 |
|---|---|
Install-ContainerImage 找不到镜像 |
确保系统版本兼容,如 Server 2019/2022 |
| Docker 服务无法启动 | 检查是否已重启;确认 Hyper-V 和 Containers 功能已启用 |
| 镜像拉取慢 | 使用国内镜像提速器(对 Linux 容器有效,Windows 容器通常需直接从官方拉取) |
| 不支持 WSL2 | Windows Server 不支持 WSL2,只能使用 Windows 容器 |
🚫 注意:不能运行 Linux 容器(除非用 Hyper-V 隔离)
虽然 Windows Server 支持运行 Linux 容器,但需要:
- 启用 Hyper-V 角色
- 配置 LCOW(Linux Containers on Windows)
但 LCOW 目前处于实验阶段,不推荐生产环境使用。建议:
如果你需要运行 Linux 容器,请选择 Windows 10/11 + WSL2 或直接使用 Linux 云服务器(如 Ubuntu) 安装 Docker。
✅ 推荐方案(根据用途)
| 你的需求 | 推荐系统 |
|---|---|
| 运行 .NET Framework / IIS 应用容器 | ✅ Windows Server + Docker |
| 运行 Linux 应用(如 Nginx、MySQL) | ❌ 不推荐在 WinServer 上运行,应选 Linux 服务器 |
| 混合开发测试 | 使用 Windows 10/11 + WSL2 + Docker Desktop |
🔗 参考文档
- Microsoft 官方文档:Install Docker EE on Windows Server
- Docker 官方 Windows 文档
如果你提供具体的 Windows Server 版本号 和 用途(运行什么应用),我可以给出更精确的安装脚本和建议。
轻量云Cloud