docker - 来自另一个磁盘的 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
?
解决方案
如果您的docker-compose.yml
文件显示类似
volumes:
- "/mnt/sdc/uploads:/uploads"
然后在容器内写入/uploads
目录直接转到另一个安装的驱动器;它们不占用主机空间/var/lib/docker
或容器文件系统中的任何其他存在。(在内部,它是一个mount (2) 调用,其工作方式与/mnt
在根磁盘上的工作方式相同,但/mnt/sdc
在另一个磁盘上。)
推荐阅读
- c# - Outlook 拒绝来自 CryptProtectData() 的密码
- angularjs - AngularJS - 如何编写包含 momentjs 库的单元测试?
- c# - 使一个简单的 C# 静态函数成为 WebAssembly
- html - 动态生成嵌入在 VBA 电子邮件生成中的 HTML 表
- python - 最接近用户输入的数字
- java - 如何在 JPA 中使用 TypedQuery 更改顺序
- android - 相对布局中的 layout_below 不会显示
- ember.js - ember 等待用户填写表单
- javascript - 如果匹配的内容移动到新工作表
- java - 我可以在 String args[] 中传递多少个字符串作为 Java 中的命令行参数?