我的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
上的空间?
答案 0 :(得分:1)
如果您的docker-compose.yml
文件中的内容类似
volumes:
- "/mnt/sdc/uploads:/uploads"
然后将容器内部写入/uploads
目录直接进入另一个已安装的驱动器;它们不占用主机/var/lib/docker
中的空间,或在容器文件系统中没有其他任何存在。 (内部是 mount (2)调用,其工作方式与/mnt
在您的根磁盘上,而/mnt/sdc
在另一个磁盘上。)