如何创build一个大于20GB的Windows Docker镜像?

我一直在试图build立一个大型的窗口docker图像几天了,但我找不到解决这个问题的任何地方的答案。

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

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

我的图像结构将最终看起来像这样:

microsoft / windowsservercore – > mine / data_image – > mine / binary_image

data.dockerfile:

FROM microsoft/windowsservercore WORKDIR /data/ COPY data . 

构build命令:

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

一段时间后,构build失败,出现以下消息:复制文件失败:复制目录失败:write \?\ Volume {8cf8bb9b-c1dd-46a3-b353-3c2198754bf8} \ data:磁盘空间不足。

我知道这与windowsfilter磁盘驱动程序有关,但没有关于此驱动程序的在线信息。 这就像它不存在。

任何有关这个问题的见解都是值得欢迎的

它看起来像你不能指定docker build的大小 。

在Docker CE 17.09中添加了运行容器时指定大小的function,因此function至less在那里。 所以请注意#34947的分辨率,不要太远。

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