为什么Docker vfs存储后端不适合生产?

时间:2014-07-14 12:43:50

标签: docker

Docker vfs存储后端在几个地方被提及为不是生产后端(参见Michael Crosby的这个Docker GitHub issue comment)。什么使它不适合生产?

Project Atomic' description of storage backends说:

  

vfs后端是一个非常简单的后备,没有写时复制支持。每个层只是一个单独的目录。通过将基础层的深层副本放入新目录来完成基于另一层创建新层。

     

由于此后端不共享层之间的磁盘空间使用,并且由于创建新层是一个缓慢的操作,因此这不是一个非常实用的后端。但是,它仍然有其用途,例如验证其他后端,或者如果你需要一个适用于所有地方的超级健壮(如果很慢)的后端。

根据该描述,听起来唯一的缺点是可能会使用更多磁盘空间并且创建图层可能会更慢。但是在运行时访问文件时没有提到缺点,它甚至被描述为" robust"。仅磁盘空间问题似乎不适合生产使用。

1 个答案:

答案 0 :(得分:7)

实际上,您可以在生产中使用vfs驱动程序,但请注意,由于它是“常规”副本,因此您不会受益于devicemapper或btrfs可以提供的功能,并且您完全依赖在底层文件系统上。

运行时缺点是run慢得多。一旦启动,如果你有相同的底层文件系统,它将是相同的。

简而言之,我建议反对因为:

  • 它首先用于测试然后用于卷。从来没有打算用于运行时
  • 它依赖于底层文件系统,因此您可以减少Docker对文件的控制。它可能(或可能不会)导致未来升级问题。 Docker的目的是抽象主机,所以最好将这种东西委托给Docker。
  • 需要很多的磁盘空间
  • 运行或提交时需要很多