我有很多容器,它们的增长速度很快,令人不舒服;例如,数据库。当您创建外部 docker 卷 ( docker volume create {volume_name}
) 时,我看到它列在 下的 docker 卷目录中/var/lib/docker/volumes/{volume_name}
。
是否可以将volume_name
目录挂载到 LVM 分区上,以便我可以使用主机操作系统轻松扩展分区?我实际上已经在 mysql 容器中尝试过此操作,但是当我这样做时,我在/var/lib/docker/volumes/{volume_name}/
.
这是有效的做法吗?
答案1
如果你想这样做,最好的办法是/var/lib/docker/volumes/<volname>
在 Docker 中创建卷之前创建一个挂载的 LV。我也刚刚在我的笔记本电脑上尝试过。我创建了安装在 的 LV /var/lib/docker/volumes/demo
,安装了它,然后在 Docker 中创建了卷demo
,一切看起来都很顺利。
或者,Docker 的直接lvm模式也可能解决这个问题。
引用:“devicemapper 驱动程序使用 Docker 专用的块设备,并在块级别而不是文件级别进行操作。这些设备可以通过向 Docker 主机添加物理存储来扩展,并且它们的性能比在级别上使用文件系统更好操作系统的。”