windows server 2019装docker linux容器linux内核环境?

在 Windows Server 2019 上运行 Linux 容器(Linux Containers)是完全支持的,但需要满足特定的系统版本和配置要求。以下是详细的步骤和注意事项:


✅ 前提条件

  1. 操作系统版本:

    • Windows Server 2019 必须为 1809 或更高版本(包括 LTSC 2019、1909、20H2、21H2 等)。
    • 不支持早期版本(如 1709、1803)。
  2. 启用容器功能:

    • 确保已安装并启用“容器”功能。
  3. Hyper-V 支持:

    • Docker Desktop for Windows 使用 Hyper-V 隔离技术来运行 Linux 容器。
    • 确保 BIOS/UEFI 中启用了虚拟化技术(Intel VT-x / AMD-V)。
    • 确保 Hyper-V 角色已安装并启用。
  4. Docker 版本:

    • 推荐使用 Docker Desktop for Windows(最新稳定版),它内置了对 Linux 容器的支持。
    • 或者使用 Docker Engine for Windows Server(适用于服务器环境,无 GUI)。

🛠️ 安装步骤

方法一:使用 Docker Desktop for Windows(推荐用于开发/测试)

  1. 下载并安装 Docker Desktop
    从官网下载:https://www.docker.com/products/docker-desktop

  2. 启用 Hyper-V 和 WSL 2(可选但推荐)

    # 以管理员身份运行 PowerShell
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
    Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -All
    Enable-WindowsOptionalFeature -Online -FeatureName Windows-Subsystem-Linux -All
  3. 重启服务器

  4. 启动 Docker Desktop

    • 首次启动时,选择 “Use Windows containers instead” 或 “Use WSL 2 based engine”。
    • 要运行 Linux 容器,请确保切换到 WSL 2 引擎 或 Hyper-V 隔离模式。
      • 设置 → General → ✅ “Use the WSL 2 based engine”
      • 或在设置中切换运行时为 Linux
  5. 验证 Linux 容器是否工作

    docker run --rm hello-world

    如果输出中包含 Hello from Docker! 且镜像是 linux/amd64,则成功。


方法二:使用 Docker Engine for Windows Server(适用于生产服务器)

  1. 安装容器功能

    Install-WindowsFeature -Name Containers
  2. 重启服务器

  3. 安装 Docker Engine

    Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
    Install-Package -Name docker -ProviderName DockerMsftProvider -Force
  4. 启动 Docker 服务

    Start-Service Docker
    Set-Service -Name Docker -StartupType Automatic
  5. 配置 Docker 使用 Linux 容器

    • 编辑或创建 C:ProgramDatadockerconfigdaemon.json:
      {
      "features": {
       "containerd-snapshotter": true
      }
      }
    • 重启 Docker 服务:
      Restart-Service Docker
  6. 拉取并运行 Linux 容器

    docker pull nginx:latest
    docker run -d --name webserver -p 8080:80 nginx

⚠️ 注意:Windows Server 上的 Docker Engine 默认可能优先使用 Windows 容器。若需强制使用 Linux 容器,可能需要通过 CLI 参数或配置指定平台。


🔍 验证是否正在运行 Linux 容器

docker info | grep -i "operating system"

应显示类似:

Operating System: Docker Desktop
OSType: linux
Architecture: x86_64

或在使用 Docker Engine 时:

Server Version: 24.0.x
Operating System: Docker Desktop (or Windows)
OSType: linux

❗ 常见问题与解决方案

问题 解决方案
无法运行 Linux 容器 确认使用的是 WSL 2 或 Hyper-V 隔离;检查 Docker 运行时是否为 Linux
性能较差 启用 Hyper-V 提速;确保 CPU 支持虚拟化;考虑使用 SSD
网络不通 检查防火墙规则;尝试使用桥接网络而非 NAT
权限错误 确保以管理员身份运行 PowerShell/Docker

✅ 总结

项目 说明
支持的系统 Windows Server 2019 1809+
所需功能 Hyper-V、WSL 2(可选)、容器功能
推荐工具 Docker Desktop for Windows(开发)或 Docker Engine(生产)
关键配置 切换到 Linux 运行时 / WSL 2 引擎
验证命令 docker run --rm hello-world + docker info

只要你遵循上述步骤,就可以在 Windows Server 2019 上顺利运行 Linux 容器。如有具体报错,可提供日志进一步排查。

未经允许不得转载:云知识CLOUD » windows server 2019装docker linux容器linux内核环境?