在 Windows Server 2019 上运行 Linux 容器(Linux Containers),不需要也不应该安装一个独立的“Linux内核环境”。
Windows 原生支持通过 Moby Project 和 Hyper-V 隔离技术来运行 Linux 容器。其底层机制是:
- Docker Desktop for Windows / Docker Engine on Windows 会使用一个轻量级的 Hyper-V 虚拟机(称为
linuxkit或DockerDesktopVM)作为 Linux 运行时环境。 - 该虚拟机内置了精简的 Linux 内核,专门用于运行 Linux 容器镜像。
- 你无需手动安装 Linux 发行版内核,一切由 Docker 自动管理。
✅ 正确做法:在 Windows Server 2019 上启用 Linux 容器支持
前提条件:
- Windows Server 2019 Datacenter 或 Standard Edition(建议 Datacenter,因 Hyper-V 功能更完整)
- 已启用 Hyper-V 角色
- 已启用 Containers 功能
- 系统版本 ≥ 1809(Build 17763 或更高)
🔧 步骤如下:
1. 启用 Hyper-V 和 Containers 功能
以管理员身份打开 PowerShell,运行:
Install-WindowsFeature -Name Hyper-V, Containers -IncludeManagementTools
重启服务器:
Restart-Computer
2. 安装 Docker Engine
推荐使用官方提供的安装包或 Chocolatey:
方法一:使用 Chocolatey(推荐)
choco install docker-engine --params="'/EnableOldDockerCompose'" -y
方法二:手动下载 MSI 安装包
从 Docker 官方仓库 下载适用于 Windows Server 2019 的 Docker CE MSI 安装包并安装。
注意:选择 “Linux containers” 模式,而非 “Windows containers”。
3. 配置 Docker 使用 Linux 容器
安装完成后,确保 Docker 守护进程配置为使用 Linux 容器:
编辑或创建配置文件 %ProgramData%dockerconfigdaemon.json,添加:
{
"experimental": false,
"features": {
"buildkit": true
}
}
然后重启 Docker 服务:
Restart-Service docker
或者通过命令行指定运行 Linux 容器:
docker version
docker info | findstr "Operating System"
应显示类似:
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
4. 测试运行 Linux 容器
docker run --rm hello-world
如果成功输出欢迎信息,说明 Linux 容器环境正常工作。
❗ 注意事项
- 不要尝试安装 WSL2 或完整 Linux 发行版来替代 Docker 的 Linux 运行时,这会带来复杂性和性能问题。
- Docker Desktop for Windows 默认使用 Hyper-V 隔离的 Linux VM,适合开发和测试。
- 在生产环境中,建议使用 Docker Engine + Windows Server Containers 或 Linux Containers via Moby,并通过 Kubernetes 或 Service Fabric 管理。
- 若需更高性能或更深层集成,可考虑迁移到纯 Linux 主机或使用 Azure Stack HCI + Kubernetes。
📌 总结
| 项目 | 说明 |
|---|---|
| 是否需要手动安装 Linux 内核? | ❌ 不需要 |
| Docker 如何运行 Linux 容器? | 通过内置的 Hyper-V 轻量级 Linux VM |
| 所需功能 | Hyper-V、Containers |
| 推荐方式 | 安装 Docker Engine + 配置为 Linux 容器模式 |
| 验证命令 | docker run --rm hello-world |
如有进一步需求(如 GPU 提速、持久化存储、网络配置等),可继续提问。
CLOUD技术博