将 docker 外部卷目录挂载为主机(lvm)分区,这可行吗?

将 docker 外部卷目录挂载为主机(lvm)分区,这可行吗?

我有很多容器,它们的增长速度很快,令人不舒服;例如,数据库。当您创建外部 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 主机添加物理存储来扩展,并且它们的性能比在级别上使用文件系统更好操作系统的。”

相关内容