创建一个 Windows 10 映像以用作 docker 容器

Cal*_*nus 8 disk-image docker windows-10

我正在尝试创建一个 Windows 10 映像,以便对现有的旧应用程序进行 dockerize。出于很好的理由,基本映像必须是 Windows 10而不是Windows Server。我该怎么做?

我想到的是:

1) 将我的 vanilla Windows 安装创建为 Hyper-V 机器

2)在上面安装应用程序

3) 关闭这个虚拟机

4) 将生成的 VHDX 转换为 Windows 映像 (WIM) 文件

5) 以某种方式使用它作为 docker 的基础镜像

我在正确的道路上吗?

Ori*_*rds 4

不,这行不通。

Windows 容器(这与 Linux 上的 Docker 容器相同)基本上包含 Windows 的“用户空间”部分,但共享单个底层 Windows 服务器内核。

我发现一个方便的思考方式是每个容器有点像 Windows 中一个单独的隔离用户帐户。您可以拥有多个用户帐户,每个用户帐户都有自己的私有文件集,并且彼此隔离,但它们仍然直接与底层操作系统绑定,并且每个帐户都在同一个共享内核上运行。

这非常棒,因为使用单个共享内核,我们不需要 CPU 或内存级别的硬件虚拟化,因此事情可以更加高效。

然而,按照这种设计,Windows 10 UI 和所有这些东西并不是设计用于与 Windows Server 2016 内核一起使用。它们可能是巧合,但可能性不大。

另外,您不能只获取 VHD/WIM 或其他类型的映像并说“这是我的容器”。您必须从“基本映像”开始,它实际上代表了您的主操作系统,然后根据需要应用更改。我无法想象尝试找出将基础 Windows 服务器转变为 Windows 10 所需的一组更改。