如何创建大于20GB的Windows Docker镜像?

问题描述:

我一直在试图建立一个大型的Windows泊坞窗图像几天,但我无法找到任何解决此问题的答案。如何创建大于20GB的Windows Docker镜像?

我不是在试图构建一个生产容器解决方案。我只是试图创建我的服务的原型,但在Windows容器中运行。问题是我的服务依赖于大约40GB的数据,现在这些数据是从磁盘读取的。显然,这不是一个好方法,在我们可以将服务托管在生产容器中之前,必须对其进行重构。

我只想要一个快速和肮脏的解决方案,将所有这些数据存储在容器中的磁盘上,以便我可以了解更多关于服务如何在容器中运行的图像。

我的形象结构最终会看起来像这样:

微软/ windowsservercore - >雷/ data_image - >雷/ binary_image

data.dockerfile:

FROM microsoft/windowsservercore 
WORKDIR /data/ 
COPY data . 

生成命令:

docker build --compress -t mine/data_image -f data.dockerfile . 

过了一段时间,构建失败并显示以下消息: 无法复制文件:复制目录失败:write \?\ Volume {8cf8bb9b-c1dd-46a3-b353-3c2198754bf8} \ data:磁盘上没有足够的空间。

我知道这与windowsfilter磁盘驱动程序有关,但没有关于此驱动程序的联机文档。这就像它不存在。

欢迎与此问题有关的任何见解!

它看起来像你can't specify a size for docker build yet

在运行容器时指定大小的功能被添加到Docker CE 17.09中,所以功能至少在那里。因此,请注意#34947的分辨率不应太远。

我知道在Linux上devicemapper存储驱动程序有一个dm.basesize选项,您可以在守护程序上设置修改所有容器启动时的卷大小。 Windows存储驱动程序可能有类似的选项?