在腾讯云的 Windows Server 实例上运行 Docker,需满足以下系统、内核、环境及腾讯云平台层面的条件。需要特别注意:Docker Desktop 不适用于服务器生产环境,Windows Server 上应使用原生 Docker Engine(即 Docker CE for Windows Server),且仅支持特定版本。
✅ 一、操作系统要求(核心前提)
| 项目 | 要求 |
|---|---|
| Windows Server 版本 | ✅ Windows Server 2016(1607)或更高版本 ✅ Windows Server 2019(1809) ✅ Windows Server 2022(21H2 / 22H2) ❌ Windows Server 2012 R2 及更早版本 不支持(无容器平台基础) |
| 系统架构 | x64(仅支持 64 位) |
| 安装模式 | 推荐使用 Server with Desktop Experience(带桌面体验)或 Server Core(轻量,但需命令行管理);Nano Server 已于 2019 后弃用,不支持 Docker |
💡 提示:腾讯云控制台创建实例时,选择镜像需明确为
Windows Server 2019 Datacenter或Windows Server 2022 Datacenter(确保是 Datacenter Edition,Standard 版本功能受限,部分容器特性不可用)。
✅ 二、系统配置与依赖
| 类别 | 要求说明 |
|---|---|
| Windows 功能启用 | 必须启用以下两个 Windows 功能: • Containers(容器) • Hyper-V(若使用 Hyper-V 隔离容器,必需;若仅用 Process 隔离,则 Windows Server 2019+ 可选,但强烈推荐启用) ✅ 启用命令(管理员 PowerShell): powershell<br>Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V, Containers -All -NoRestart<br>Restart-Computer -Force<br> |
| 虚拟化支持 | • 腾讯云 CVM 实例必须为 支持嵌套虚拟化的机型(如 S5、S6、C6、M6、SR1 等计算型/内存型实例) • 在【实例详情 → 安全组/实例配置】中确认:CPU 支持 Intel VT-x / AMD-V,且腾讯云后台已开启嵌套虚拟化(默认多数新机型已开启,但老旧实例可能需提工单确认) |
| 内存与磁盘 | • 最低 2 GB RAM(建议 ≥ 4 GB,尤其运行多个容器) • 系统盘 ≥ 60 GB(Docker 镜像、层、卷会占用空间) |
| Windows 更新 | 建议安装最新累积更新(CU),确保容器平台组件(如 vmcompute, hcs 服务)为最新稳定版 |
✅ 三、Docker 引擎安装要求(非 Docker Desktop!)
| 项目 | 说明 |
|---|---|
| 安装方式 | 使用官方支持的 Docker Engine – Enterprise(已并入 Moby)或 Docker CE for Windows Server ⚠️ Docker Desktop for Windows ❌ 不支持 Windows Server(仅限 Windows 10/11 Pro/Enterprise) |
| 推荐安装源 | • 官方脚本(由 Docker 提供,兼容 Windows Server):powershell<br>Invoke-WebRequest https://raw.githubusercontent.com/moby/moby/master/contrib/install.ps1 -UseBasicParsing | Invoke-Expression<br>• 或通过 Docker 官方文档 下载 .msi 安装包(如 docker-24.0.7.msi) |
| 引擎模式 | • 支持两种隔离模式: – Process 隔离(默认,轻量,性能高):适用于 Windows 容器(基于命名空间) – Hyper-V 隔离(强隔离,安全):需启用 Hyper-V,启动稍慢但兼容性/安全性更好 • Linux 容器?❌ Windows Server 原生不支持 Linux 容器(除非搭配 WSL2,但 WSL2 在 Windows Server 中未正式支持且不稳定,腾讯云不推荐) |
🔍 补充:如需运行 Linux 容器,腾讯云更推荐方案:
✅ 直接使用 Linux CVM(如 CentOS/Ubuntu) + Docker CE(性能更好、生态成熟)
✅ 或使用 腾讯云容器服务 TKE(Kubernetes),其 Worker 节点可混合部署 Windows/Linux Node。
✅ 四、腾讯云平台特殊注意事项
| 场景 | 建议/限制 |
|---|---|
| 安全组配置 | 开放容器所需端口(如 80/443/自定义服务端口),无需开放 Docker daemon 默认端口 2375/2376(不安全),建议本地 socket (npipe:////./pipe/docker_engine) 访问 |
| 镜像提速 | 配置国内镜像源提升拉取速度(如腾讯云容器镜像服务 TCR 的公网提速地址):json<br>{ "registry-mirrors": ["https://mirror.ccs.tencentyun.com"] }<br>→ 写入 C:ProgramDatadockerconfigdaemon.json 并重启 Docker 服务 |
| 持久化存储 | • 使用腾讯云 CBS 云硬盘挂载为 NTFS 卷,映射给容器(-v D:data:C:appdata)• 避免使用系统盘临时存储大量镜像/日志 |
| 权限与用户 | • Docker 服务以 LocalSystem 运行,需确保当前用户属于 docker-users 组(添加命令:net localgroup docker-users <用户名> /add)• PowerShell 需以管理员身份运行才能执行 docker 命令(或配置 WinRM 远程管理) |
✅ 五、验证是否成功
安装完成后执行:
# 检查服务状态
Get-Service docker
# 查看 Docker 版本与信息
docker version
docker info
# 运行测试容器(Windows Nano Server 镜像)
docker run --rm mcr.microsoft.com/windows/nanoserver:1809 cmd /c "echo Hello from Windows Container!"
✅ 成功标志:输出
Hello from Windows Container!且无hcsshim::CreateComputeSystem错误。
⚠️ 常见失败原因排查
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
dockerd 启动失败 |
Hyper-V 或 Containers 功能未启用 | 运行 Enable-WindowsOptionalFeature 并重启 |
hcsshim::CreateComputeSystem failed |
缺少 CU 更新、嵌套虚拟化未开启、镜像版本不匹配(如用 2022 镜像跑在 2019 主机) | 升级系统、确认腾讯云实例型号支持、使用匹配 OS 版本的镜像(如 nanoserver:ltsc2019) |
no matching manifest for windows/amd64 |
拉取了 Linux 镜像或跨版本 Windows 镜像 | 明确指定 Windows 镜像标签(如 --platform windows/amd64) |
| 权限拒绝(Access is denied) | 用户未加入 docker-users 组 |
执行 net localgroup docker-users $env:USERNAME /add,重启终端 |
✅ 最佳实践建议(腾讯云场景)
- ✅ 优先选用 Windows Server 2022(内核更新、容器运行时更稳定、支持新特性如 gMSA、Kerberos 认证)
- ✅ 生产环境禁用 Docker Desktop,仅用原生 Docker Engine
- ✅ 配合腾讯云 TCR(容器镜像服务) 存储私有 Windows 镜像,保障安全与提速
- ✅ 使用 Docker Compose v2(内置)或 Portainer(Windows 兼容版) 简化多容器编排
- ✅ 监控建议:通过腾讯云 Cloud Monitor + 自定义指标(如
docker stats输出)采集容器 CPU/内存
如需进一步帮助,可提供:
- 您的腾讯云实例具体型号(如
S6.MEDIUM4)和 Windows Server 版本(winver输出) - Docker 安装过程中的具体报错信息
我可为您定制诊断与解决步骤 👇
是否需要我提供 一键安装脚本(PowerShell) 或 TCR 镜像提速配置模板?
云小栈