加油
努力

腾讯云Windows系统服务器如何安装和配置Docker?

在腾讯云 Windows 系统服务器(即 Windows Server,如 Windows Server 2019/2022)上安装和配置 Docker,不能直接安装原生 Linux 版 Docker Engine,因为 Windows Server 的容器运行时与 Linux 不同。你需要根据实际需求选择以下两种主流方案之一:

推荐方案:使用 Windows 容器(Windows Server Containers / Hyper-V Containers)
适用于运行 .NET Framework、IIS、SQL Server on Windows 等 Windows 原生应用。

❌ 不推荐/不支持:在 Windows Server 上安装 docker-ce(Linux版),或试图用 WSL2 运行 Docker(WSL2 在 Windows Server 上默认不可用且非生产推荐)。


✅ 正确路径:在 Windows Server 上启用并配置 Docker for Windows Server(即 Moby + Windows Container Runtime)

⚠️ 注意:从 Docker Desktop 4.3+ 起,Docker Desktop 已不再支持 Windows Server(仅支持 Windows 10/11 Pro/Enterprise)。
因此,Windows Server 必须使用 原生 Windows 容器运行时 + Docker CLI + Moby 引擎(由 Microsoft 和 Docker 共同维护的 Windows Server 版本)。


📌 前提条件(腾讯云 Windows Server 实例)

项目 要求
操作系统 Windows Server 2019 或 Windows Server 2022(64位,已打最新补丁
虚拟化支持 ✅ BIOS 中已启用 Hyper-V(若需 Hyper-V 隔离容器)或 Windows 容器服务(进程隔离即可)
⚠️ 腾讯云 CVM 默认不启用 Hyper-V,需手动开启(见下文)
管理员权限 以 Administrator 运行 PowerShell
网络 可访问公网(下载镜像、安装包)或已配置内网镜像源

🔧 步骤 1:启用 Windows 容器功能(含 Hyper-V,如需隔离)

💡 Windows Server 容器支持两种隔离模式:

  • Process Isolation(进程隔离):轻量、快速,但共享内核 → 默认推荐
  • Hyper-V Isolation(Hyper-V 隔离):更强安全性,每个容器独占轻量 VM → 需启用 Hyper-V

✅ 启用容器 + Hyper-V(推荐双启,兼容性更好):

# 以【管理员身份】打开 PowerShell
# 1. 启用容器功能(必选)
Enable-WindowsOptionalFeature -Online -FeatureName containers -All -NoRestart

# 2. 启用 Hyper-V(如需 Hyper-V 隔离,或运行 Linux 容器(需 WSL2,但 Server 不推荐))
# ⚠️ 注意:腾讯云 CVM 是 KVM/Xen 虚拟机,**嵌套虚拟化默认关闭!**
# 👉 必须先在腾讯云控制台【实例配置】中开启「嵌套虚拟化」(仅部分机型支持,如 S5、SA3、CVM 类型为「标准型 S5/S6」「计算型 C5/C6」等,且需关机操作)

# 若已开启嵌套虚拟化,再执行:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -NoRestart

# 3. 重启服务器(必须!)
Restart-Computer -Force

🔍 如何确认腾讯云是否支持嵌套虚拟化?

  • 登录 腾讯云控制台 → 找到实例 → 【更多】→ 【配置修改】→ 查看「嵌套虚拟化」开关(灰色=不支持该机型;可选=支持)
  • 支持机型参考:腾讯云嵌套虚拟化文档

🐳 步骤 2:安装 Docker Engine(Windows Server 版)

Microsoft 维护官方 Docker EE(Enterprise Edition)适配 Windows Server,但自 2021 年起已整合进 Moby 项目,推荐使用社区维护的稳定安装脚本:

✅ 推荐方式:使用官方 PowerShell 安装脚本(Microsoft 官方支持)

# 管理员 PowerShell 中执行:
# 1. 下载并运行 Docker 官方安装脚本(适用于 Windows Server)
Invoke-WebRequest "https://raw.githubusercontent.com/moby/moby/master/contrib/install.ps1" -OutFile "$env:TEMPinstall-docker.ps1"
& "$env:TEMPinstall-docker.ps1"

# ✅ 该脚本会:
#   - 下载最新稳定版 dockerd.exe(Moby 引擎)
#   - 安装为 Windows Service(dockerd)
#   - 配置默认 daemon.json(位于 C:ProgramDatadockerconfigdaemon.json)
#   - 添加 docker CLI 到 PATH

✅ 脚本来源:Moby GitHub install.ps1(安全、无第三方依赖)

✅ 验证安装:

# 查看 Docker 版本
docker version

# 查看系统信息(应显示 "OS: windows", "Architecture: x86_64")
docker info

# 运行 Hello World(Windows Nano Server 镜像)
docker run --rm mcr.microsoft.com/windows/nanoserver:ltsc2022 echo "Hello from Windows Container!"

💡 首次拉取 Windows 镜像可能较慢(镜像体积大),建议使用国内镜像提速(见步骤 4)


🌐 步骤 3:配置 Docker Daemon(可选但强烈推荐)

编辑配置文件:C:ProgramDatadockerconfigdaemon.json
(若不存在,可新建)

✅ 示例配置(含镜像提速、日志限制、存储驱动):

{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com",     // ✅ 腾讯云官方镜像站(推荐)
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"
  ],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  },
  "storage-driver": "windowsfilter",
  "exec-opts": ["native.cgroupdriver=systemd"]
}

✅ 重启 Docker 服务生效:

Restart-Service docker

🐋 步骤 4:拉取 & 运行常用 Windows 镜像(验证)

# 1. 拉取 Windows Server Core 镜像(适合 .NET Framework 应用)
docker pull mcr.microsoft.com/windows/servercore:ltsc2022

# 2. 拉取 Nano Server(更轻量,适合 .NET Core / Go)
docker pull mcr.microsoft.com/windows/nanoserver:ltsc2022

# 3. 运行 IIS 容器(示例)
docker run -d -p 8080:80 --name myiis mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022

# 访问 http://<你的CVM公网IP>:8080 查看 IIS 默认页

📌 注意镜像标签:

  • ltsc2022 = Long-Term Servicing Channel 2022(稳定、推荐)
  • 22H2 / 23H2 = Semi-Annual Channel(更新快,但生命周期短,不建议生产)

🔐 补充:安全与生产建议(腾讯云环境)

项目 建议
防火墙 开放容器端口(如 8080)→ 腾讯云【安全组】中添加入站规则
磁盘空间 Windows 容器镜像较大(1~5GB),建议系统盘 ≥ 100GB,或挂载数据盘到 C:ProgramDatadocker
自动启动 dockerd 服务默认设为自动启动,无需额外配置
镜像源 务必配置 registry-mirrors(腾讯云镜像站最快)
更新策略 定期 docker pull 更新基础镜像;Docker 引擎通过重新运行 install.ps1 升级

❌ 常见误区与避坑指南

问题 原因 解决方案
docker: command not found PATH 未刷新或安装失败 重启 PowerShell,或手动将 C:Program FilesDocker 加入系统 PATH
Error response from daemon: hcsshim::CreateComputeSystem failed 未启用容器功能 / Hyper-V / 或嵌套虚拟化未开 严格按步骤启用并重启
no matching manifest for windows/amd64 尝试拉取 Linux 镜像(如 nginx:alpine ✅ Windows 容器只能运行 Windows 镜像(mcr.microsoft.com/...
The container operating system does not match the host operating system 主机是 2022,却拉了 ltsc2019 镜像 使用 docker info 查看 OSTypeServer Version,匹配镜像标签
dockerd service fails to start 防火墙/杀软拦截、端口占用、daemon.json 语法错误 查看日志:Get-EventLog -LogName Application -Source Docker -Newest 20

✅ 总结:腾讯云 Windows Server 上 Docker 正确姿势

步骤 操作
✅ 1. 准备环境 Windows Server 2019/2022 + 开启嵌套虚拟化(如需 Hyper-V)+ 启用 containersHyper-V 功能
✅ 2. 安装引擎 运行官方 install.ps1 安装 Moby/dockerd(非 Docker Desktop)
✅ 3. 配置提速 设置 registry-mirrorshttps://mirror.ccs.tencentyun.com
✅ 4. 运行验证 docker run mcr.microsoft.com/windows/nanoserver:ltsc2022 echo OK
✅ 5. 生产就绪 配置安全组、监控磁盘、定期更新镜像与引擎

需要我为你生成:

  • ✅ 一键安装脚本(含嵌套虚拟化检查 + 自动重启 + 镜像提速配置)
  • ✅ 部署 ASP.NET Core Web API 的完整 Dockerfile + docker-compose.yml 示例
  • ✅ 腾讯云镜像仓库(TCR)私有镜像推送/拉取教程

欢迎随时告诉我 👇 我可立即为你定制提供!

云服务器