在 Windows Server 2019 上运行 Docker 需要安装 Docker Engine 或 Docker Desktop(仅适用于 Windows 10/11,不适用于 Server 版本)。以下是详细步骤:
方法 1:使用 Docker EE(适用于 Windows Server 2019)
Windows Server 2019 原生支持容器化(基于 Windows 容器),但需要通过 Docker Enterprise Edition (EE) 或开源版 Docker Engine 来管理。
步骤 1:安装容器功能
- 以管理员身份打开 PowerShell,运行以下命令安装容器功能:
Install-WindowsFeature -Name Containers
- 重启服务器:
Restart-Computer -Force
步骤 2:安装 Docker EE
- 下载 Docker EE 安装包(需 Docker 订阅账户):
- 从 Docker 官网 获取适用于 Windows Server 的
.zip
包。
- 从 Docker 官网 获取适用于 Windows Server 的
- 解压到
C:Program FilesDocker
。 - 将 Docker 添加到系统路径:
- 初始化 Docker 服务:
dockerd --register-service Start-Service Docker
验证安装
docker run hello-world:nanoserver
如果看到欢迎信息,说明安装成功。
方法 2:使用开源 Docker Engine(推荐)
Docker 已停止提供 Docker EE,推荐使用开源版本:
- 安装依赖:
Install-Module -Name DockerMsftProvider -Force Install-Package -Name Docker -ProviderName DockerMsftProvider -Force
- 重启服务:
Restart-Service Docker
方法 3:使用 Linux 容器(WSL2 不可用)
Windows Server 2019 不支持 WSL2,但可以通过 Hyper-V 隔离 运行 Linux 容器:
- 启用 Hyper-V:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools
- 切换 Docker 为 Linux 容器模式:
& $env:ProgramFilesDockerDockerDockerCli.exe -SwitchLinuxEngine
常见问题
-
错误提示:
"Docker requires Windows 10 Pro/Enterprise or Windows Server 2016+"
- 确保使用 Windows Server 2019 并安装 Containers 功能。
-
性能问题:
- Windows 容器镜像较大(如
mcr.microsoft.com/windows/servercore
),建议预留足够磁盘空间。
- Windows 容器镜像较大(如
-
网络问题:
- 检查防火墙规则,允许 Docker 通信:
New-NetFirewallRule -Name "Docker" -DisplayName "Docker" -Direction Inbound -Protocol TCP -LocalPort 2375 -Action Allow
- 检查防火墙规则,允许 Docker 通信:
总结
- Windows 容器:直接安装 Docker EE 或开源引擎。
- Linux 容器:需启用 Hyper-V 隔离(性能较差)。
- 生产环境:建议使用 Windows 容器或迁移到 Windows Server 2022(支持 WSL2)。
如需更详细的配置(如镜像提速、存储驱动),请参考 Docker 官方文档。