概述
传统的虚拟机领域,空间不够时,再挂载一块磁盘上去是很常见的需求,但是如果想要在容器运行时挂载一块盘,却并非是一件易事,本文将介绍容器挂盘相关知识,以及运行时挂盘的问题所在,并给出解决方案。
容器磁盘相关知识
docker容器使用volume,可以简单分为两种:
使用宿主机本地目录
使用方式形如-v /host_absolute_path:/container_absolute_path
使用docker volume
使用方式形如-v volume_name:/container_absolute_path
本地卷
本地卷又可以进一步细分文件系统类型,如:
docker volume create --driver local --opt type=tmpfs --opt device=tmpfs --opt o=size=100m,uid=1000 --name foo
docker volume create --driver local --opt type=btrfs --opt device=/dev/sda2 --name foo
远程卷
支持远程卷的插件包括:convoy、flocker、glusterFs等等,这里不再详细展开
在实际的项目中,远程卷管理实际是由上层编排工具kubernetes来创建和管理的,docker使用的是块设备已挂载的目录。因此本文主要侧重于第一种类型,即如何在容器运行时