在 Windows Server 云服务器上运行 Docker,需要进行一系列配置和安装。以下是详细的步骤指南,适用于支持 Docker 的 Windows Server 版本(如 Windows Server 2016、2019、2022)。
✅ 一、前提条件
-
Windows Server 版本要求:
- Windows Server 2016 及以上版本。
- 推荐使用 Windows Server 2019 或 2022 Datacenter 版本,对容器支持更好。
-
硬件要求:
- 启用 Hyper-V(Docker 需要虚拟化支持)
- 至少 4GB 内存,推荐 8GB+
- 管理员权限
-
网络环境:
- 能访问互联网(用于下载 Docker 组件)
✅ 二、启用容器功能
以管理员身份打开 PowerShell,执行以下命令:
# 安装容器功能
Install-WindowsFeature -Name Containers
# 安装 Hyper-V(如果尚未启用,且支持虚拟化)
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools
⚠️ 注意:启用 Hyper-V 后可能需要重启服务器。
✅ 三、重启服务器
Restart-Computer -Force
✅ 四、安装 Docker Engine
Windows 上的 Docker 分为两种模式:
- Linux 容器(LCOW):通过 WSL2 或 Hyper-V 运行 Linux 容器(推荐)
- Windows 容器(WCOW):运行原生 Windows 应用容器
方式一:安装 Docker EE(企业版,官方支持)
适用于生产环境:
# 添加 Docker MSI 安装包源
Invoke-WebRequest "https://download.docker.com/components/engine/windows-server/docker.zip" -OutFile "docker.zip" -UseBasicParsing
# 解压
Expand-Archive docker.zip -DestinationPath $env:ProgramFiles
# 将 Docker 添加到系统路径
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";" + "$env:ProgramFilesdocker", [EnvironmentVariableTarget]::Machine)
# 注册 Docker 服务
& $env:ProgramFilesdockerdockerd --register-service
# 启动 Docker 服务
Start-Service docker
方式二:使用 Microsoft 提供的脚本安装(简化方式)
# 安装 OneGet 模块(包管理)
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 安装 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider
# 重启
Restart-Computer -Force
✅ 五、验证安装
重启后,打开 PowerShell:
# 查看 Docker 版本
docker --version
# 查看信息
docker info
# 运行测试容器
docker run hello-world
注意:
hello-world镜像如果是 Linux 的,需要确保已配置 LCOW 支持(见下文)。
✅ 六、配置 Linux 容器支持(可选但推荐)
默认情况下,Docker 在 Windows 上运行的是 Windows 容器。若想运行 Linux 容器,需启用 LCOW(Linux Containers on Windows)。
步骤:
- 启用 LCOW:
# 创建或修改 daemon.json 配置文件
@"
{
"experimental": true,
"features": {
"lcow": true
}
}
"@ | Set-Content -Path 'C:ProgramDatadockerconfigdaemon.json'
- 重启 Docker 服务:
Restart-Service docker
- 下载 LCOW UVM 镜像(首次运行 Linux 容器时自动下载,也可手动):
docker pull microsoft/lcow:latest
- 切换容器模式(可选):
# 切换到 Linux 容器模式
& 'C:Program FilesDockerdockerd.exe' -H npipe:// --switch-linux
或使用托盘图标切换(如果有 GUI)。
✅ 七、常见问题排查
| 问题 | 解决方案 |
|---|---|
Docker daemon is not running |
执行 Start-Service docker |
Not enough memory or CPU |
升级云服务器配置 |
LCOW kernel image not found |
确保 daemon.json 配置正确,检查网络 |
Hyper-V not available |
在 BIOS 中开启虚拟化(VT-x/AMD-V),并在 Windows 功能中启用 Hyper-V |
✅ 八、使用建议
- 开发/测试环境:推荐使用 Windows Server + WSL2 + Docker Desktop(如果允许 GUI)
- 生产环境:使用 Windows 容器 或考虑迁移到 Linux 服务器运行 Docker(性能更好,生态更成熟)
- 若频繁使用 Linux 容器,建议直接使用 Linux 云服务器(如 Ubuntu)运行 Docker
✅ 九、参考文档
- Microsoft 官方文档:Install Docker EE on Windows Server
- Docker 官方:Windows 容器
如果你使用的是阿里云、腾讯云、华为云等平台,请确保:
- 云服务器实例支持嵌套虚拟化(部分厂商默认关闭)
- 安全组开放所需端口(如 2375、2376 如果远程访问 Docker)
如有具体云平台(如阿里云、AWS)和用途(部署 .NET 应用、Node.js 等),欢迎补充,我可以提供更定制化的配置建议。
CDNK博客