在没有虚拟化的情况下在 Windows 上运行 Docker

Posted

技术标签:

【中文标题】在没有虚拟化的情况下在 Windows 上运行 Docker【英文标题】:Run Docker on Windows without virtualization 【发布时间】:2016-10-23 07:27:59 【问题描述】:

我想知道我是否可以在没有机器虚拟化的情况下在 Windows 机器上运行带有 windows 容器的 docker,就像在 Linux 上一样。

因为我的整个环境都在 azure 上的 windows 机器上运行,如果 docker 在没有机器虚拟化的 windows 上运行,将 docker 添加到我当前的工作流程中会容易得多。

如果没有,在不久的将来有可能吗?

【问题讨论】:

【参考方案1】:

现在看来,您实际上可以在没有任何虚拟化的情况下在 Windows 上运行 linux docker 容器。只需使用 Windows 子系统 Linux (WSL)。但是需要一些手动设置(我认为这不是太难)。查看这些链接了解更多详情:

https://github.com/Microsoft/WSL/issues/2291#issuecomment-383698720 https://medium.com/devopslinks/docker-running-seamlessly-in-windows-subsystem-linux-6ef8412377aa

我刚刚偶然发现了那篇中型文章,在这里非常值得一提。但是:我自己还没有尝试过。

第二个链接描述了细节。基本上,您必须在 WSL 中执行以下操作:

    确保拥有 Windows 10 Version 1803 Build 1734 或更高版本 在 WSL 上安装类似 debian 的发行版 安装和配置 docker-ce 版本 17.09(很多更早或更高的版本似乎都不起作用) 手动设置启动任务,重启后启动docker服务和cgroupfs

【讨论】:

感谢您的回复,但您应该在此处编写这些手动步骤,而不是简单地链接到外部站点。 哦,对不起,如果我违反了一些 *** 规则?问题是:第二个链接指向一篇详细描述所有这些步骤的文章,我认为在这里重新发布所有内容是不可能且有用的。 我会等到 WSL 2 正式发布后才能使用真正的 Linux 内核而不是 WSL 1 中的仿真内核。【参考方案2】:

就像在 Linux 上一样。

在 Linux 上,它是“Linux 上的 Docker”。如果您想在 Windows 上运行该 docker,您需要一个 VM:VirtualBox 或 with docker 1.12, Hyper-V:请参阅 getting started。 但即使是“Docker for Windows”也可以创建一个 Linux VM,Linux 上的 Docker 可以在其中运行。

还有一个Docker for AWS beta just announced yesterday。 同样,这将使用 Linux 实例。实例是 AWS 云中的虚拟服务器。 这仍然是为了在 Linux 上启用 Docker。

Docker on Windows 将是 available only on Windows Server 2016 TP5+: see its documentation。 这是唯一一个将实际的 Windows 映像作为容器运行。

【讨论】:

有一个 docker 到 Windows 的端口,适用于 Windows 8、10 和 Server 2012(包括 r2)。它称为 Windocks,可在 windocks.com 获得。那是一台服务器,将在 Windows 上运行 SQL Server 和 .Net 容器。

以上是关于在没有虚拟化的情况下在 Windows 上运行 Docker的主要内容,如果未能解决你的问题,请参考以下文章

我可以在没有硬编码的情况下在 Windows 上运行的 Java 中构建 Linux 路径吗?

如何在没有控制台窗口的情况下在 Windows 上启动最新的 Jupyter QtConsole

在没有用户登录的情况下在 Windows 启动时运行脚本

如何在没有 root 权限的情况下在图像文件上安装 grub?

在没有可见命令提示符窗口的情况下在 Windows 上自动启动 websocket 服务器

如何在没有 Git Bash 或 GUI 的情况下在 Windows 10 上安装 git?