Docker在启动容器的时候,需要创建文件系统,为rootfs提供挂载点。最初Docker仅能在支持Aufs文件系统的Linux发行版上运行,但是由于Aufs未能加入Linux内核,为了寻求兼容性、扩展性,Docker在内部通过graphdriver机制这种可扩展的方式来实现对不同文件系统的支持。

目前,Docker支持Aufs,Devicemapper,Btrfs和Vfs四种文件系统,docker容器默认的空间是10G,如果想指定默认容器的大小(在启动容器的时候指定),可以有如下两种方法:

建议大家在CentOS7.x上部署Docker进行测试(内核在3.10+)

1)第一种方法:

可以在docker配置文件里通过dm.basesize参数指定,例如:

docker   -d  --storage-optdm.basesize=40G 

(注意*在CentOS 6.5上有可能执行该命令扩容不成功)

以上方法只适用于新容器生成,并且修改后需要重启docker,无法做到动态给正在运行容器指定大小。(如下图为默认容器大小)

wKiom1ir7cvRSFfEAACuZ1S5BkQ240.png-wh_50

在文件加入如下语句即可:vi /etc/sysconfig/docker-storage

wKioL1ir7eHxf9zdAACNx-ynaeM068.png

然后重启docker即可;

wKiom1ir7fjhjkdWAAAenlA4KwY023.png

然后重新创建即可。

2)第二种方法:

(注意*如果是centos6.x系列,内核不稳定,会导致docker容器停止,无法再启动)

1)查看原容器的磁盘空间大小

wKiom1ir7h-CdGS9AAB_OKv0gxE450.png

2)查看mapper设备:

wKioL1ir7j-jU5g3AABHcbrkVXA487.png

3) 查看卷信息表:

wKiom1ir7mnDeTfAAABpgLtQufI974.png

4) 根据要扩展的大小,计算需要多少扇区:

第二个数字是设备的大小,表示有多少个512-bytes 的扇区. 这个值略高于 10GB 的大小。我们来计算一下一个 15GB 的卷需要多少扇区,

$ echo $((15*1024*1024*1024/512))31457280

5)  修改卷信息表--激活--并且验证(红色3个部分)

wKiom1ir80fAp1ZHAABz7HLr8PI063.png

6)  修改文件系统大小

wKioL1ir81qi0CSxAAB3xpMqi0g357.png

7)  最后验证磁盘空间大小

wKiom1ir82qSxAJjAACQgIO-fpw646.png