docker如何在windows server 2019运行?

服务器

在 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。

  1. 安装包管理器(如果尚未安装):
Install-Module -Name PowerShellGet -Force
  1. 安装 DockerMsftProvider:
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
  1. 安装 Docker Engine:
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
  1. 重启服务器以完成安装:
Restart-Computer -Force
  1. 验证 Docker 是否运行:
Get-Service docker

你应该看到服务状态为 Running

  1. 测试运行一个容器:
docker run hello-world:nanoserver

注意:Windows 容器必须与宿主机系统版本兼容。nanoserverwindowsservercore 镜像需匹配 Windows Server 2019 版本(如 1809)。


方法二:手动下载并安装 Docker

你也可以从 Docker 官方 GitHub 仓库手动下载 .zip 包:

  1. 下载最新版本的 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。

  1. 解压到 C:Program Files
Expand-Archive docker.zip -DestinationPath C:Program Files -Force
  1. 将 Docker 添加到系统路径:
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:Program Filesdocker", [EnvironmentVariableTarget]::Machine)
$env:Path += ";C:Program Filesdocker"
  1. 安装 Docker 为 Windows 服务:
dockerd --register-service
  1. 启动服务:
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!

✅ 六、注意事项

  1. Docker Desktop 不支持 Windows Server,只能使用 Docker Engine。
  2. Windows 容器与 Linux 容器不兼容,除非使用 WSL2(但 WSL2 在 Windows Server 上不支持)。
  3. 确保宿主机和容器镜像的 OS 版本匹配(如 1809、ltsc2019 等)。
  4. 建议使用 ltsc2019 镜像以保证兼容性。

✅ 七、常见问题排查

  • docker 命令未找到:检查环境变量是否包含 C:Program Filesdocker
  • 无法拉取镜像:检查网络、防火墙、镜像标签是否匹配
  • 服务无法启动:查看事件日志或运行 dockerd --debug 调试

✅ 总结

在 Windows Server 2019 上运行 Docker 的关键步骤:

  1. 启用 Containers 功能
  2. 安装 Docker Engine(通过 DockerMsftProvider 或手动)
  3. 启动 docker 服务
  4. 运行 Windows 容器测试

如需进一步集成 Kubernetes,可考虑使用 Rancher、OpenShiftMicrosoft AKS-HCI 等企业级方案。

如有具体错误信息,欢迎提供,我可以帮你进一步排查。

未经允许不得转载:CDNK博客 » docker如何在windows server 2019运行?