我已经开始使用 Windows 10 的 Linux 子系统,并且使用 Ubuntu 14.04 取得了巨大成功。但到目前为止,Docker 还没有成功 - 这是平台的限制还是 Docker+WLS 组合在未来可行?
我有相当多的脚本需要 Linux 和 docker 同时存在。
答案1
截至 2016 年 9 月,没有。
Windows 上所有当前的 Docker 实现都使用了虚拟化,Docker 1.12 使用 Windows 中的虚拟机管理程序 - 因此消除了容器化相对于虚拟化的优势。
Docker 需要的不仅仅是使用 Linux 系统调用。
它需要进程控制组(cgroups)、可堆叠文件系统(aufs)以及内核之外的其他基于 Linux 的系统。
cgroups 和 aufs 都不是 Windows 10 内核原生的。
这里有 Windows Server 2016 的实现: https://msdn.microsoft.com/en-gb/virtualization/windowscontainers/quick_start/quick_start_windows_server ..但这只会运行一些 Windows 服务,例如 IIS,而不是 Ubuntu
托马斯说得很清楚,很简短:
我相当肯定 WLS 不具备设置 Docker 所需的所有基础设施。核心问题是,WLS 虽然具有 Linux 主义,但实际上并不是功能齐全的 Linux。许多人只是接受这一点作为限制……