如何在CoreOS的NFS共享上放置Docker镜像?

我已经安装了默认使用100GB大小的环回设备的CoreOS,并且我已经很容易地达到了这个限制。

我的第一个想法是使用NFS将所有的图像放在我的NAS之上,只需将它放在/var/lib/docker目录的顶部就可以了,没有任何成功。

现在我已经发现这篇文章 ,看起来像docker创build任何forms的块设备,以任何forms的存储之上,以便使用它的CoW快照,这可能是为什么我没有成功,我只是简单地安装NFS共享在图像目录之上。 这有点吓到我了。 为什么不使用纯NFS与存储的本机快照? 我希望这样做有很好的解释。 无论如何,我需要做这个怪胎的事情。 我是新来的docker和CoreOS,不知道如何正确地做到这一点。 所以问题是: 如何挂载NFS共享并将其用于CoreOS上的所有映像?

好消息是,你不是第一个需要这样做的人。 Docker不能使用直接的NFS,因为它需要同时支持扩展属性(xttrs)才能存储内核function,SELinux上下文等选项。通过使用设备映射器在远程存储上创build虚拟块设备通过辅助机制提供所需的内核机制来利用Docker。 虽然这可以通过dm.loopdatasize 选项进行configuration,因为它们在Docker页面上明确指出"Note: This option configures devicemapper loopback, which should not be used in production.".

最后,这涉及到底层存储的需求。 Docker只是使用内核提供的机制而不是自己动手。