tmpfs 中的 Docker 系统目录?

tmpfs 中的 Docker 系统目录?

安装任何 Docker 目录是否有意义,/var/lib/dockertmpfs加快速度并减少 SSD 磨损?

~ # l /var/lib/docker/
total 56
drwx------  2 root root  4096 Jul 28 02:02 builder
drwx--x--x  4 root root  4096 Jul 28 02:02 buildkit
drwx------ 10 root root  4096 Aug  2 23:08 containers
drwx------  3 root root  4096 Jul 28 02:02 image
drwxr-x---  3 root root  4096 Jul 28 02:02 network
drwx------ 96 root root 12288 Aug  2 23:08 overlay2
drwx------  4 root root  4096 Jul 28 02:02 plugins
drwx------  2 root root  4096 Aug  2 07:20 runtimes
drwx------  2 root root  4096 Jul 28 02:02 swarm
drwx------  2 root root  4096 Aug  2 07:20 tmp
drwx------  2 root root  4096 Jul 28 02:02 trust
drwx------  2 root root  4096 Jul 28 02:02 volumes

重建容器是一件相当困难的事情,但数据丢失却不是。

答案1

任何重启都会丢失所有镜像、容器和卷。此外,整个构建缓存也会丢失。结果是等待镜像下载的延迟显著增加,而对于本地构建,仍然需要下载基础镜像。然后这些构建将在重启后从头开始。如果您推送镜像,由于构建缓存不可用,您将向注册表推送新层,并给使用这些镜像的其他人造成更多延迟。

更重要的是,你需要确保图形驱动程序支持 tmpfs 作为后备文件系统,而对于 overlay2 以及大多数其他图形驱动程序,情况并非如此。那里列出的唯一文件系统是 vfs,它根本不是任何形式的覆盖文件系统,它是父级的完整副本以及每个层的更改,这意味着您将拥有n每个文件的副本,其中n包含该文件的层数。这可能意味着内存使用量是您目前看到的磁盘使用量的数倍,并且创建层所需的所有复制操作的性能会降低。

相关内容