在 Windows Server 2019 上运行 Docker,可以通过安装 Docker EE(Enterprise Edition) 或使用 Microsoft 提供的容器功能 + Docker 社区版(Docker CE) 来实现。以下是详细步骤:
✅ 前提条件
- 操作系统版本:Windows Server 2019(建议使用最新更新的版本,如 2019 Datacenter 或 Standard)。
- 系统角色:启用 容器 功能。
- PowerShell 管理权限:需要以管理员身份运行。
- 网络连接:用于下载 Docker 安装包和模块。
🛠️ 步骤一:安装容器功能
以管理员身份运行 PowerShell:
# 安装容器功能
Install-WindowsFeature -Name Containers
# 重启服务器
Restart-Computer -Force
🛠️ 步骤二:安装 Docker
方法一:使用 Microsoft 提供的脚本安装 Docker EE(推荐用于生产环境)
注意:Docker EE 是企业版,适合 Windows Server。
# 从 PowerShell Gallery 安装 DockerMsftProvider
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 安装 Docker 最新版本
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
# 重启服务器
Restart-Computer -Force
这种方式会自动安装适用于 Windows Server 的 Docker 引擎(Docker EE)。
方法二:手动安装 Docker CE(社区版,非官方支持,但可用)
注意:Docker 官方不再为 Windows Server 直接提供 CE 安装包,但你可以手动部署。
- 下载 Docker 二进制文件(适用于 Windows):
# 下载最新版 Docker daemon(示例)
Invoke-WebRequest "https://download.docker.com/components/engine/windows-server/docker-20.10.17.zip" -OutFile "docker.zip" -UseBasicParsing
# 解压
Expand-Archive docker.zip -DestinationPath $Env:ProgramFiles -Force
- 将 Docker 添加到系统路径:
# 添加到环境变量
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:Program Filesdocker", [EnvironmentVariableTarget]::Machine)
# 刷新环境变量
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
- 安装 Docker 为 Windows 服务:
# 注册 Docker 服务
& $Env:ProgramFilesdockerdockerd.exe --register-service
- 启动 Docker 服务:
Start-Service docker
✅ 验证 Docker 是否正常运行
docker --version
docker info
运行一个测试容器:
docker run hello-world:nanoserver
或运行一个 Windows Server Core 容器:
docker run mcr.microsoft.com/windows/servercore:ltsc2019 echo "Hello from Windows Container!"
🔧 常见问题与注意事项
| 问题 | 解决方法 |
|---|---|
hello-world 镜像拉取失败 |
确保使用 nanoserver 版本的镜像,如 hello-world:nanoserver |
| 镜像不兼容 | Windows 容器必须与宿主机版本兼容(如 LTSC2019 镜像对应 Windows Server 2019) |
| Docker 服务无法启动 | 检查是否启用 Hyper-V 和容器功能,查看事件日志 |
| 网络问题 | 确保防火墙未阻止 Docker,或使用 docker network 调试 |
📦 可选:安装 Docker Compose
# 下载 Docker Compose
Invoke-WebRequest "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-windows-x86_64.exe" -OutFile "$Env:ProgramFilesdockerdocker-compose.exe"
# 验证
docker-compose --version
🔄 更新 Docker
使用 DockerMsftProvider 方式更新:
Update-Package -Name docker -ProviderName DockerMsftProvider
Restart-Service docker
✅ 总结
| 步骤 | 命令 |
|---|---|
| 启用容器功能 | Install-WindowsFeature Containers |
| 安装 Docker | Install-Package -Name docker -ProviderName DockerMsftProvider |
| 启动服务 | Start-Service docker |
| 验证 | docker info |
💡 提示:
- Windows 容器与 Linux 容器不兼容(除非使用 WSL2,但 Windows Server 2019 不支持 WSL2)。
- 推荐使用 Windows Server Core 或 Nano Server 镜像。
- 镜像标签需与主机 OS 版本匹配(如
ltsc2019)。
如需进一步配置(如私有镜像仓库、TLS、Swarm 模式),可继续扩展。
需要我提供自动化安装脚本吗?
秒懂云