在 Windows Server 2019 上运行 Docker,可以通过安装 Docker EE(Enterprise Edition) 或使用 Microsoft 提供的容器功能 来实现。由于 Docker Desktop 不支持 Windows Server,因此需要使用基于 Windows Server 的容器运行时(如 Docker EE 或 Moby)。
以下是详细步骤,指导你如何在 Windows Server 2019 上安装并运行 Docker。
✅ 一、系统要求
- 操作系统:Windows Server 2019(64位,建议使用 Datacenter 或 Standard 版本)
- 已启用 Hyper-V 和 容器 功能(或至少支持容器)
- 管理员权限
- 网络连接(用于下载安装包)
✅ 二、启用容器功能
以管理员身份打开 PowerShell,运行以下命令启用容器功能:
Install-WindowsFeature -Name Containers
安装完成后,重启服务器:
Restart-Computer -Force
✅ 三、安装容器运行时(Docker Engine)
Windows Server 2019 支持两种方式安装 Docker:
方法一:使用 Microsoft 官方推荐方式(推荐)
使用 PowerShell 从 PowerShell Gallery 安装 DockerMsftProvider,然后安装 Docker。
- 安装包管理器(如果尚未安装):
Install-Module -Name PowerShellGet -Force
- 安装 DockerMsftProvider:
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
- 安装 Docker Engine:
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
- 重启服务器以完成安装:
Restart-Computer -Force
- 验证 Docker 是否运行:
Get-Service docker
你应该看到服务状态为 Running。
- 测试运行一个容器:
docker run hello-world:nanoserver
注意:Windows 容器必须与宿主机系统版本兼容。
nanoserver或windowsservercore镜像需匹配 Windows Server 2019 版本(如 1809)。
方法二:手动下载并安装 Docker
你也可以从 Docker 官方 GitHub 仓库手动下载 .zip 包:
- 下载最新版本的 Docker Engine:
Invoke-WebRequest "https://download.docker.com/components/engine/windows-server/2019/docker-20.10.17.zip" -OutFile "docker.zip" -UseBasicParsing
注意:请根据实际版本选择合适链接,可查看 Docker Engine for Windows。
- 解压到
C:Program Files
Expand-Archive docker.zip -DestinationPath C:Program Files -Force
- 将 Docker 添加到系统路径:
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:Program Filesdocker", [EnvironmentVariableTarget]::Machine)
$env:Path += ";C:Program Filesdocker"
- 安装 Docker 为 Windows 服务:
dockerd --register-service
- 启动服务:
Start-Service docker
✅ 四、配置 Docker(可选)
- 编辑配置文件(位于
C:ProgramDatadockerconfigdaemon.json)来设置镜像X_X、日志驱动等。 - 示例配置:
{
"registry-mirrors": ["https://<your-mirror>.mirror.aliyuncs.com"],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
修改后重启 Docker 服务:
Restart-Service docker
✅ 五、运行 Windows 容器示例
docker run --rm mcr.microsoft.com/windows/servercore:ltsc2019 cmd /c echo Hello, Docker on Windows Server 2019!
✅ 六、注意事项
- Docker Desktop 不支持 Windows Server,只能使用 Docker Engine。
- Windows 容器与 Linux 容器不兼容,除非使用 WSL2(但 WSL2 在 Windows Server 上不支持)。
- 确保宿主机和容器镜像的 OS 版本匹配(如 1809、ltsc2019 等)。
- 建议使用
ltsc2019镜像以保证兼容性。
✅ 七、常见问题排查
docker命令未找到:检查环境变量是否包含C:Program Filesdocker- 无法拉取镜像:检查网络、防火墙、镜像标签是否匹配
- 服务无法启动:查看事件日志或运行
dockerd --debug调试
✅ 总结
在 Windows Server 2019 上运行 Docker 的关键步骤:
- 启用
Containers功能 - 安装 Docker Engine(通过
DockerMsftProvider或手动) - 启动
docker服务 - 运行 Windows 容器测试
如需进一步集成 Kubernetes,可考虑使用 Rancher、OpenShift 或 Microsoft AKS-HCI 等企业级方案。
如有具体错误信息,欢迎提供,我可以帮你进一步排查。
CDNK博客