首页 > 解决方案 > 来自另一个磁盘的 Docker 持久存储:它会占用两个磁盘的空间吗?

问题描述

我的 Linux 机器上有 2 个设备,/dev/sda(这是安装 docker 的地方)和/dev/sdc(这是一个 2TB 的存储设备)。我打算创建一个将在php-fpm容器上运行的 Web 应用程序。在网络应用程序上,用户将被允许上传多个文件。我想要实现的是将用户上传的文件放在 2TB 存储设备上(/dev/sdc)。

/dev/sdc将设备安装到/mnt/sdc/文件夹,并在其中创建了一个uploads文件夹/mnt/sdc。我docker-compose将文件修改为容器/mnt/sdc/uploads内的卷php-fpm。基本上是这样的:

建筑 .

当用户上传文件时,它会被放置在容器uploads内的文件夹php-fpm中,并且它也会被放置在/mnt/sdc/uploads文件夹中。但我想知道此设置将使用哪些存储空间。上传到网站上的文件会占用/dev/sda和的空间/dev/sdc吗?还是只会占用空间/dev/sdc

标签: dockerpersistent-storage

解决方案


如果您的docker-compose.yml文件显示类似

volumes:
  - "/mnt/sdc/uploads:/uploads"

然后在容器内写入/uploads目录直接转到另一个安装的驱动器;它们不占用主机空间/var/lib/docker或容器文件系统中的任何其他存在。(在内部,它是一个mount (2) 调用,其工作方式与/mnt在根磁盘上的工作方式相同,但/mnt/sdc在另一个磁盘上。)


推荐阅读