使用不同的存储驱动程序运行 Docker 容器

使用不同的存储驱动程序运行 Docker 容器

是否可以使用不同的存储驱动程序启动不同的 Docker 容器?例如,容器 1 带有 AUFS,容器 2 带有 Overlay2?

答案1

如果你看一下文档,您将看到存储驱动程序的选择是在 Docker 守护进程级别配置的。由同一个 Docker 守护进程管理的所有容器和镜像都将共享存储驱动程序。

一旦您了解了存储驱动程序的工作原理,这就具有逻辑意义了。简而言之,这个概念是存储驱动程序管理 Docker 镜像各层之间的交互。当您从 Docker 存储库中下载映像时,系统上的存储驱动程序配置将决定如何在系统上本地存储和管理该映像。不同的存储驱动程序以不同的方式处理实现,并且一个存储驱动程序管理的层将与另一存储驱动程序不兼容。该文档还指出,更改系统上的存储驱动程序配置将导致现有容器和映像无法访问。

存储驱动程序的选择取决于多个因素,例如系统提供的支持级别以及工作负载的特征。

更详细的解释请参见关于存储驱动程序&选择存储驱动程序来自 Docker 文档。

最后,如果您想为不同的容器使用不同的存储驱动程序,您可以考虑在同一主机或不同主机上运行多个 docker 守护进程。镜像数据和容器数据无法在此类守护进程之间共享,因为如上所述,实现不兼容。

相关内容