在阿里云的 Windows Server 上安装 Docker,需要根据你使用的 Windows Server 版本选择合适的方案。目前 Docker 官方对 Windows 的支持主要通过 Docker Desktop for Windows(适用于 Windows 10/11 Pro/Enterprise)和 Docker EE(企业版)或使用 Windows 容器原生支持(适用于 Windows Server 2016/2019/2022)。
由于你使用的是 阿里云的 Windows Server 云服务器(ECS),通常为 Windows Server 2016、2019 或 2022,推荐使用 原生 Windows 容器支持,而不是 Docker Desktop(Docker Desktop 主要用于开发机,不推荐在服务器上使用)。
✅ 推荐方案:在 Windows Server 上安装 Docker(使用 Microsoft 的容器功能)
步骤 1:确认系统版本
确保你的 Windows Server 版本支持容器功能:
- Windows Server 2016(需更新到最新补丁)
- Windows Server 2019
- Windows Server 2022
注意:必须是 64 位系统,且支持 Hyper-V(或使用进程隔离模式)。
步骤 2:启用容器功能
以管理员身份运行 PowerShell,执行以下命令:
# 安装容器功能
Install-WindowsFeature -Name Containers
安装完成后,重启服务器:
Restart-Computer -Force
步骤 3:安装容器运行时(Docker Engine)
微软推荐使用 Microsoft’s Docker Provider(即 docker 通过 OneGet 安装)。
- 安装
DockerMsftProvider(用于从微软源安装 Docker):
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
- 安装 Docker:
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
- 安装完成后重启系统:
Restart-Computer -Force
步骤 4:验证 Docker 是否安装成功
重启后,打开 PowerShell,运行:
docker --version
你应该看到类似输出:
Docker version 20.10.17, build 100c701
再运行:
docker run hello-world:nanoserver
注意:Windows 容器需要使用 Windows 镜像,如
nanoserver、servercore等。hello-world的 Linux 镜像无法在 Windows 容器模式下运行。
步骤 5:设置 Docker 开机自启(可选)
Set-Service Docker -StartupType Automatic
🔧 常见问题
❌ 错误:Install-Module : The term 'Install-Module' is not recognized
说明未安装 PowerShellGet 模块。
解决方法:
- 安装或更新
PowerShellGet:
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Install-Module -Name PowerShellGet -Force -AllowClobber
然后重新启动 PowerShell。
❌ 错误:无法连接到仓库(网络问题)
阿里云服务器可能无法访问某些国外源。可尝试:
- 配置 PowerShell 使用国内镜像(较难)
- 手动下载
DockerMsftProvider和docker安装包(不推荐,复杂)
或使用替代方式:通过 Docker 官方二进制文件 手动安装。
🚫 不推荐:Docker Desktop for Windows
Docker Desktop 主要用于开发环境(如 Windows 10/11),不支持在 Windows Server 上安装,即使强行安装也不符合生产环境要求。
✅ 总结
| 步骤 | 命令 |
|---|---|
| 启用容器功能 | Install-WindowsFeature -Name Containers |
| 安装 DockerMsftProvider | Install-Module -Name DockerMsftProvider -Force |
| 安装 Docker | Install-Package -Name docker -ProviderName DockerMsftProvider -Force |
| 重启系统 | Restart-Computer -Force |
| 验证版本 | docker --version |
| 设置开机自启 | Set-Service Docker -StartupType Automatic |
📚 参考文档
- 微软官方文档:Install Docker EE on Windows Server
- 阿里云 Windows Server 使用建议:确保安全组开放所需端口,关闭防火墙测试时可临时关闭。
如有需要运行 Linux 容器,Windows Server 的 Docker 也支持 LCOW(Linux Containers on Windows),但配置较复杂,建议使用 Linux ECS 实例运行 Linux 容器更高效。
如需进一步帮助,请提供你的 Windows Server 具体版本(如 2019 Datacenter)。
秒懂云