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,无法做到动态给正在运行容器指定大小。(如下图为默认容器大小)
在文件加入如下语句即可:vi /etc/sysconfig/docker-storage
然后重启docker即可;
然后重新创建即可。
2)第二种方法:
(注意*如果是centos6.x系列,内核不稳定,会导致docker容器停止,无法再启动)
1)查看原容器的磁盘空间大小
2)查看mapper设备:
3) 查看卷信息表:
4) 根据要扩展的大小,计算需要多少扇区:
第二个数字是设备的大小,表示有多少个512-bytes 的扇区. 这个值略高于 10GB 的大小。我们来计算一下一个 15GB 的卷需要多少扇区,
$ echo $((15*1024*1024*1024/512))31457280
5) 修改卷信息表--激活--并且验证(红色3个部分)
6) 修改文件系统大小
7) 最后验证磁盘空间大小