来自另一个磁盘的Docker持久性存储:是否会占用两个磁盘的空间?

时间:2019-08-22 14:03:58

标签: docker persistent-storage

我的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。基本上就是这样:

architechture   

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

1 个答案:

答案 0 :(得分:1)

如果您的docker-compose.yml文件中的内容类似

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

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