在阿里云的 Windows Server 2019 上使用 Docker,需要进行一系列配置,因为 Windows Server 2019 原生支持的是 Windows 容器(基于 Windows 操作系统内核),而不是 Linux 容器(默认在 Linux 系统上运行)。以下是详细步骤,帮助你在阿里云的 Windows Server 2019 实例上安装并使用 Docker。
✅ 一、前提条件
- 实例系统:阿里云 Windows Server 2019 数据中心版(64位中文版或英文版均可)。
- 实例规格:建议至少 2核4G,系统盘 ≥ 40GB。
- 管理员权限:使用管理员账户登录(如 Administrator)。
- 网络配置:确保实例可以访问公网(用于下载 Docker 和镜像)。
✅ 二、启用容器功能
Windows Server 2019 需要先启用“容器”和“Hyper-V”功能(可选,但推荐)。
方法:使用 PowerShell(以管理员身份运行)
# 安装容器功能
Install-WindowsFeature -Name Containers
# (可选)安装 Hyper-V(仅当支持嵌套虚拟化且需要运行 Linux 容器时)
# 注意:阿里云 ECS 默认不支持嵌套虚拟化,因此 Hyper-V 可能无法启用。
# Install-WindowsFeature -Name Hyper-V -IncludeManagementTools
安装完成后,重启服务器:
Restart-Computer -Force
✅ 三、安装 Docker Engine
Windows Server 2019 上的 Docker 安装方式与 Windows 10 不同,推荐使用 Microsoft 官方支持的安装方式。
1. 使用 PowerShell 安装 Docker-Microsoft Package
# 添加 Docker 的 Microsoft PowerShell 模块
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 安装 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
2. 重启服务器
Restart-Computer -Force
3. 验证 Docker 是否安装成功
docker --version
输出示例:
Docker version 20.10.17, build 100c701
✅ 四、测试运行 Windows 容器
1. 拉取一个 Windows 基础镜像(如 mcr.microsoft.com/windows/servercore:ltsc2019)
docker pull mcr.microsoft.com/windows/servercore:ltsc2019
⚠️ 注意:该镜像较大(约 5GB),下载可能较慢,请耐心等待。
2. 运行一个简单的容器
docker run mcr.microsoft.com/windows/servercore:ltsc2019 echo "Hello from Docker on Windows Server 2019!"
如果看到输出,说明 Docker 正常工作。
✅ 五、可选:配置 Docker 使用国内镜像提速(推荐)
由于默认镜像仓库在国外,拉取速度慢,建议配置阿里云镜像提速器。
1. 获取阿里云镜像提速地址
登录 阿里云容器镜像服务控制台,获取你的专属提速器地址,如:
https://xxxx.mirror.aliyuncs.com
2. 配置 Docker Daemon
创建或编辑配置文件:
# 创建 daemon.json 配置文件
@"
{
"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
"@ | Out-File -FilePath 'C:ProgramDatadockerconfigdaemon.json' -Encoding ASCII
3. 重启 Docker 服务
Restart-Service docker
✅ 六、常见问题与注意事项
| 问题 | 解决方案 |
|---|---|
| ❌ 无法运行 Linux 容器 | Windows Server 2019 不支持通过 Docker Desktop 运行 Linux 容器,除非开启 WSL2 和 Hyper-V(阿里云不支持嵌套虚拟化)。只能运行 Windows 容器。 |
| ❌ 镜像拉取慢 | 配置阿里云镜像提速器。 |
| ❌ 安装 Docker 失败 | 确保系统已更新,运行 sconfig 检查更新,安装最新补丁。 |
❌ Install-Package 报错 |
确保 PowerShell 执行策略允许脚本运行:Set-ExecutionPolicy RemoteSigned -Force |
✅ 七、进阶使用建议
- 使用 Windows Nano Server 镜像:更轻量,适合容器化应用。
- 构建自定义镜像:编写
Dockerfile来打包你的 .NET 应用。 - 结合 IIS 或 .NET 应用部署:可用于部署 ASP.NET 应用。
- 考虑迁移到 Windows Server Core 2022 或使用 Linux 实例:Docker 支持更好,生态更成熟。
✅ 总结
在阿里云 Windows Server 2019 上使用 Docker 的关键步骤:
- 启用 Containers 功能
- 使用
DockerMsftProvider安装 Docker - 重启并验证
- 拉取并运行 Windows 容器镜像
- 配置镜像提速提升体验
⚠️ 重要提醒:Windows 容器体积大、启动慢、兼容性有限。如非必须运行 Windows 应用,建议使用 Linux 系统(如 CentOS/Ubuntu)运行 Docker,体验更佳。
如有具体应用场景(如部署 IIS、.NET 应用等),可继续提问,我可以提供 Dockerfile 示例。
ECLOUD博客