在阿里云 Windows Server 上部署 Docker,不能直接使用 Linux 原生的 Docker Engine(因为 Docker 默认依赖 Linux 内核特性)。你需要根据业务场景选择以下两种方案之一:
方案一:使用 WSL2 + Docker Desktop(推荐用于开发/测试)
这是最简单、最通用的方式。通过 Windows Subsystem for Linux 2 (WSL2) 运行轻量级 Linux 环境,再在其中安装 Docker Desktop。
适用场景:本地开发、测试环境、非生产核心业务。
前提条件:
- Windows Server 版本需支持 WSL2(Windows Server 2019 及以上)。
- 已开启虚拟化功能(BIOS 中开启 VT-x/AMD-V)。
- 已安装 WSL2 和 Docker Desktop。
部署步骤:
-
启用 WSL2 功能
以管理员身份打开 PowerShell,执行:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart重启服务器后,设置默认版本为 WSL2:
wsl --set-default-version 2 -
安装 Linux 发行版
从 Microsoft Store 或命令行安装 Ubuntu(例如):wsl --install -d Ubuntu首次启动会提示创建用户名和密码。
-
安装 Docker Desktop for Windows
- 访问 Docker 官网 下载
Docker Desktop安装包。 - 运行安装程序,确保勾选 "Use WSL2 instead of Hyper-V"。
- 安装完成后,Docker Desktop 会自动在后台启动 WSL2 引擎。
- 访问 Docker 官网 下载
-
验证安装
打开 PowerShell 或 CMD,输入:docker --version docker run hello-world若看到欢迎信息,说明部署成功。
注意:Docker Desktop 免费版仅限个人学习或非商业用途。企业生产环境建议使用方案二。
方案二:使用 Docker EE / Windows Containers(适用于生产环境)
如果你需要在纯 Windows 环境下运行容器(不依赖 WSL),可以使用 Windows Containers。但需注意:
- 不支持 Linux 镜像(只能运行 Windows 镜像)。
- 需要配置 Windows Server 的容器模式。
- 官方已逐步转向 WSL2 方案,部分旧版文档可能过时。
部署步骤(Windows Containers):
-
启用容器功能
以管理员身份运行 PowerShell:Enable-WindowsOptionalFeature -Online -FeatureName Containers -All重启服务器。
-
下载并安装 Docker Engine for Windows
- 访问 Docker Hub 获取对应版本的
.msi安装包(如docker-ce-windows-amd64.msi)。 - 注意:Windows Server 通常使用 Moby Project 或 Azure Container Registry 提供的专用包。
- 推荐使用 Docker Desktop(企业版)或手动安装 Docker Engine Community Edition for Windows。
- 访问 Docker Hub 获取对应版本的
-
切换容器类型
默认是 Linux 容器,需切换为 Windows 容器:# 右键任务栏 Docker 图标 -> Switch to Windows containers或在命令行:
docker info | findstr "Kernel" -
拉取并运行 Windows 镜像
docker pull mcr.microsoft.com/windows/nanoserver:ltsc2022 docker run -it --rm mcr.microsoft.com/windows/nanoserver:ltsc2022 powershell
阿里云特定优化建议
- 安全组配置:确保开放 2375/2376 端口(仅在内网可信环境开放,生产环境禁用)。
- 网络模式:建议使用
nat或bridge模式,避免直接暴露宿主机端口。 - 资源限制:在阿里云 ECS 控制台调整 CPU/内存配额,防止容器占用过多资源影响系统稳定性。
- 日志管理:定期清理
/var/lib/docker(Linux)或%ProgramData%Docker(Windows)中的日志文件。
常见问题排查
| 问题 | 解决方案 |
|---|---|
docker: command not found |
检查环境变量是否包含 Docker 路径 |
| 无法拉取镜像 | 检查阿里云镜像提速器配置(需在 Docker Desktop 设置中添加 https://<your-id>.mirror.aliyuncs.com) |
| 虚拟机平台未启用 | 确认 BIOS 虚拟化已开启,且 Windows 服务项 Virtual Machine Platform 已安装 |
| 权限不足 | 以管理员身份运行 PowerShell/CMD |
总结
- 开发/测试 → 选 WSL2 + Docker Desktop(快速、兼容性好)。
- 生产环境 → 优先评估 Linux 容器方案(将业务迁移到 Linux 实例),若必须用 Windows 则采用 Windows Containers 并注意兼容性限制。
如需进一步指导具体版本或配置细节,请提供你的 Windows Server 版本(如 2019/2022)和业务需求场景。
云服务器