docker如何在windows server 2019运行?

云计算

在 Windows Server 2019 上运行 Docker 需要安装 Docker EngineDocker Desktop(仅适用于 Windows 10/11,不适用于 Server 版本)。以下是详细步骤:


方法 1:使用 Docker EE(适用于 Windows Server 2019)

Windows Server 2019 原生支持容器化(基于 Windows 容器),但需要通过 Docker Enterprise Edition (EE) 或开源版 Docker Engine 来管理。

步骤 1:安装容器功能

  1. 以管理员身份打开 PowerShell,运行以下命令安装容器功能:
    Install-WindowsFeature -Name Containers
  2. 重启服务器:
    Restart-Computer -Force

步骤 2:安装 Docker EE

  1. 下载 Docker EE 安装包(需 Docker 订阅账户):
    • 从 Docker 官网 获取适用于 Windows Server 的 .zip 包。
  2. 解压到 C:Program FilesDocker
  3. 将 Docker 添加到系统路径:
  4. 初始化 Docker 服务:
    dockerd --register-service
    Start-Service Docker

验证安装

docker run hello-world:nanoserver

如果看到欢迎信息,说明安装成功。


方法 2:使用开源 Docker Engine(推荐)

Docker 已停止提供 Docker EE,推荐使用开源版本:

  1. 安装依赖
    Install-Module -Name DockerMsftProvider -Force
    Install-Package -Name Docker -ProviderName DockerMsftProvider -Force
  2. 重启服务
    Restart-Service Docker

方法 3:使用 Linux 容器(WSL2 不可用)

Windows Server 2019 不支持 WSL2,但可以通过 Hyper-V 隔离 运行 Linux 容器:

  1. 启用 Hyper-V:
    Install-WindowsFeature -Name Hyper-V -IncludeManagementTools
  2. 切换 Docker 为 Linux 容器模式:
    & $env:ProgramFilesDockerDockerDockerCli.exe -SwitchLinuxEngine

常见问题

  1. 错误提示"Docker requires Windows 10 Pro/Enterprise or Windows Server 2016+"

    • 确保使用 Windows Server 2019 并安装 Containers 功能。
  2. 性能问题

    • Windows 容器镜像较大(如 mcr.microsoft.com/windows/servercore),建议预留足够磁盘空间。
  3. 网络问题

    • 检查防火墙规则,允许 Docker 通信:
      New-NetFirewallRule -Name "Docker" -DisplayName "Docker" -Direction Inbound -Protocol TCP -LocalPort 2375 -Action Allow

总结

  • Windows 容器:直接安装 Docker EE 或开源引擎。
  • Linux 容器:需启用 Hyper-V 隔离(性能较差)。
  • 生产环境:建议使用 Windows 容器或迁移到 Windows Server 2022(支持 WSL2)。

如需更详细的配置(如镜像提速、存储驱动),请参考 Docker 官方文档。

未经允许不得转载:CLOUD云枢 » docker如何在windows server 2019运行?