Windows Server 上部署 Docker 的完整指南
结论先行
在 Windows Server 上部署 Docker 是可行的,但需注意版本兼容性、性能开销和功能限制。 推荐使用 Windows Server 2019 或更高版本,并选择 Windows 容器 或启用 Linux 容器模式(需 Hyper-V 支持)。以下是详细步骤和注意事项。
1. 准备工作:系统要求
- 操作系统版本:Windows Server 2016/2019/2022(LTSC 版本)。
- 硬件要求:
- 64 位 CPU,支持虚拟化(VT-x/AMD-V)。
- 至少 4GB RAM(推荐 8GB+)。
- 存储空间:20GB 以上可用空间。
- 启用 Hyper-V(仅 Linux 容器需要):
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
2. 安装 Docker EE(企业版)
Windows Server 官方支持的是 Docker Enterprise Edition(EE),而非社区版(Docker Desktop)。
安装步骤
- 安装 Docker 提供程序:
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force - 安装 Docker EE:
Install-Package -Name docker -ProviderName DockerMsftProvider - 启动服务并设置开机自启:
Start-Service docker Set-Service -Name docker -StartupType Automatic
3. 选择容器类型
Windows Server 支持两种容器:
- Windows 容器:原生运行 Windows 应用(如 IIS、.NET Framework)。
- Linux 容器:需 Hyper-V 虚拟化支持,性能稍低。
切换容器模式
# 切换到 Linux 容器(需重启 Docker 服务)
& $Env:ProgramFilesDockerDockerDockerCli.exe -SwitchLinuxEngine
# 切换回 Windows 容器
& $Env:ProgramFilesDockerDockerDockerCli.exe -SwitchWindowsEngine
4. 验证安装
- 检查 Docker 版本:
docker version - 运行测试容器:
docker run hello-world:nanoserver # Windows 容器 docker run alpine echo "Hello" # Linux 容器
5. 关键注意事项
- 性能问题:Windows 容器镜像体积大(如
mcr.microsoft.com/windows/servercore超过 5GB),启动较慢。 - 兼容性限制:部分 Linux 容器工具(如
docker-compose)在 Windows Server 上需额外配置。 - 安全更新:定期更新 Windows Server 和 Docker EE 以修复漏洞。
6. 优化建议
- 使用镜像提速器:配置国内镜像源(如阿里云)提速拉取镜像。
{ "registry-mirrors": ["https://<your-mirror>.mirror.aliyuncs.com"] } - 限制资源占用:通过
docker run --cpus=2 --memory=4GB控制容器资源。
总结
在 Windows Server 上部署 Docker 适合运行 Windows 原生应用,但 Linux 容器体验较差。 若需高性能 Linux 容器,建议直接使用 Linux 服务器。对于混合环境,可通过 Kubernetes 编排跨平台容器。
CLOUD云计算