在阿里云的 Windows Server 上安装 Docker 是完全可行的,但需要注意一些前提条件和步骤。以下是在阿里云 Windows Server 实例上安装 Docker 的详细步骤(适用于支持 Docker 的 Windows Server 版本,如 Windows Server 2016、2019、2022)。
✅ 前提条件
-
操作系统要求:
- 必须是 Windows Server Core 或 Datacenter 版本
- 支持容器功能(例如:Windows Server 2016、2019、2022)
-
启用容器功能:
- 需要开启 Windows 的“容器”功能
- 确保系统已更新到最新补丁
-
虚拟机配置:
- 如果你使用的是阿里云 ECS 实例,请确保不是精简版镜像(比如
Windows Server with Desktop Experience可能更适合) - 系统盘建议大于 40GB,以便安装 Docker 和后续运行镜像
- 如果你使用的是阿里云 ECS 实例,请确保不是精简版镜像(比如
📦 安装步骤
1. 启用容器功能
以管理员身份打开 PowerShell,执行:
Install-WindowsFeature -Name Containers
安装完成后,重启服务器:
Restart-Computer -Force
2. 安装 Docker Engine – Windows
方法一:使用 Microsoft 提供的脚本安装 Docker
# 下载并安装 Docker Msft Provider
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 安装 Docker 最新版本
Install-Package -Name Docker -ProviderName DockerMsftProvider
# 重启系统
Restart-Computer -Force
⚠️ 注意:如果提示无法加载模块或权限问题,请先设置执行策略:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
3. 启动 Docker 服务
安装完成后,Docker 服务默认会自动启动。你可以通过以下命令查看状态:
Get-Service Docker
如果没有启动,可以手动启动:
Start-Service Docker
4. 设置开机自启
Set-Service Docker -StartupType Automatic
5. 验证安装是否成功
docker --version
docker info
然后运行一个测试容器:
docker run hello-world:nanoserver
如果输出欢迎信息,说明 Docker 安装成功!
🐳 Windows 容器 vs Linux 容器
默认情况下,Windows Server 上运行的是 Windows 容器。如果你希望运行 Linux 容器,需要满足以下条件:
- 使用 Hyper-V 虚拟化支持(阿里云某些实例可能不支持)
- 开启嵌套虚拟化(部分阿里云实例支持,需提交工单申请)
否则,只能运行 Windows 容器(推荐方式)。
🔧 常见问题排查
Q1:docker run 报错:failed to create task for container
可能是由于没有安装对应的 Windows 容器基础镜像(如 windowsservercore)。可以拉取基础镜像:
docker pull mcr.microsoft.com/windows/servercore:ltsc2022
Q2:提示缺少 HNS 服务?
HNS(Host Network Service)是 Windows 容器网络的关键组件。可通过以下方式修复:
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
📝 总结
| 步骤 | 操作 |
|---|---|
| 1 | 安装容器功能 Install-WindowsFeature Containers |
| 2 | 安装 Docker Install-Package Docker |
| 3 | 重启系统 |
| 4 | 启动并设置 Docker 自启动 |
| 5 | 测试运行容器 |
如果你使用的是 阿里云 ECS Windows Server 实例,请确保:
- 已开放安全组端口(如 2375/2376)
- 使用管理员账号操作
- 若用于生产环境,建议使用 Windows Server Datacenter 版本
如果你有具体的 Windows Server 版本或遇到错误信息,也可以贴出来,我可以帮你更精准地解决。
ECLOUD博客