在Windows Server上部署Docker需要特定的版本和配置,以下是详细步骤和注意事项:
1. 确认系统要求
- Windows Server版本:仅支持 Windows Server 2016 或更高版本(推荐 Windows Server 2019/2022)。
- 容器类型:Windows Server原生支持 Windows容器(运行基于Windows的镜像),若需运行Linux容器,需使用Hyper-V隔离或切换到Linux容器模式(需WSL 2支持,但Windows Server默认不支持WSL)。
2. 安装Docker EE(企业版)
Windows Server需使用 Docker Enterprise Edition (EE),社区版(CE)不支持。
方法一:通过PowerShell安装
# 安装Docker提供程序
Install-Module -Name DockerMsftProvider -Force
# 安装Docker EE
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
# 重启服务器
Restart-Computer
方法二:手动下载安装包
从Docker官方仓库下载适用于Windows Server的Docker EE安装包(.msi),手动安装。
3. 验证安装
安装完成后,检查Docker服务状态:
# 启动Docker服务
Start-Service docker
# 验证安装
docker version
若输出包含Server: Docker EE,则表示安装成功。
4. 配置Docker
切换容器类型(可选)
默认使用Windows容器,若需切换为Linux容器(需Hyper-V支持):
# 切换到Linux容器(需重启Docker服务)
& $Env:ProgramFilesDockerdockerDockerCli.exe -SwitchLinuxEngine
# 切换回Windows容器
& $Env:ProgramFilesDockerdockerDockerCli.exe -SwitchWindowsEngine
配置镜像提速(国内用户)
编辑配置文件 C:ProgramDatadockerconfigdaemon.json:
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
重启服务:
Restart-Service docker
5. 运行容器示例
运行Windows容器
# 拉取Windows Server Core镜像
docker pull mcr.microsoft.com/windows/servercore:ltsc2022
# 运行容器
docker run -it mcr.microsoft.com/windows/servercore:ltsc2022 cmd
运行Linux容器(需Hyper-V隔离)
docker run --isolation=hyperv -it alpine sh
6. 常见问题解决
- 错误:
操作系统不支持容器
确保已启用 Windows容器功能:Install-WindowsFeature Containers - 错误:
镜像不兼容
确认镜像标签与Windows Server版本匹配(如ltsc2019对应Windows Server 2019)。 - 性能问题
Windows容器磁盘I/O较慢,建议使用SSD并关闭防病毒实时扫描。
7. 进阶配置
- Docker Compose
下载docker-compose-windows.exe并放入C:Program FilesDocker。 - 持久化存储
使用卷(Volumes)挂载主机目录:docker run -v C:hostpath:C:containerpath ...
总结
Windows Server部署Docker适合运行Windows原生应用(如.NET Framework),若需最佳兼容性,建议:
- 纯Linux容器场景:使用Linux主机或WSL 2(Windows 10/11)。
- 混合环境:通过Kubernetes编排Windows/Linux容器。
参考文档:Docker Windows Server官方指南
云服务器