安装任何 Docker 目录是否有意义,/var/lib/docker
以tmpfs
加快速度并减少 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
包含该文件的层数。这可能意味着内存使用量是您目前看到的磁盘使用量的数倍,并且创建层所需的所有复制操作的性能会降低。