docker高级应用之动态扩展容器空间大小
2015-07-08 15:21
609 查看
转载:http://dl528888.blog.51cto.com/2382721/1606170
docker容器默认的空间是10G,如果想指定默认容器的大小(在启动容器的时候指定),可以在docker配置文件里通过dm.basesize参数指定,比如
是指定默认的大小为20G,具体参数可以参考https://github.com/docker/docker/tree/master/daemon/graphdriver/devmapper
上面方法只是真的生成容器的时候进行的,并且修改后需要重启docker,无法做到动态给运行容器指定大小,下面我介绍一下如何动态的扩展容器空间大小。
动态扩展的优点:
1、不需要修改docker配置,并且重启docker服务;
2、可以直接对运行中的容器进行动态扩展(只能增,无法缩);
缺点:
1、docker所在宿主机分区的格式必须是ext2、ext3、ext4;
2、docker存储引擎必须是devicemapper
存储引擎查看,可以使用docker info查看
从上面的Storage Driver可以看到我使用的引擎。
下面是动态扩展的例子:
1、新建立个test容器
可以看到我运行test容器的根分区是ext4分区,容器是10G
2、使用我的脚本动态扩展容器空间
脚本内容
目前给test容器进行动态增加20G空间
可以看到已经增加成功
下面在给test增加到50G
也可以增加成功
但我要是像缩减到30G
是无法进行缩减的,仅能进行增加操作。
至于动态增加的原理请参考http://jpetazzo.github.io/2014/01/29/docker-device-mapper-resize/
FAQ:
centos 7里使用docker的时候默认存储引擎是devicemapper
在进行动态调整docker容器磁盘空间的时候,出现
原因是resize2fs仅能支持ext2、ext3、ext4,不支持xfs
所以建议docker服务器的文件系统格式调整为ext4
docker容器默认的空间是10G,如果想指定默认容器的大小(在启动容器的时候指定),可以在docker配置文件里通过dm.basesize参数指定,比如
上面方法只是真的生成容器的时候进行的,并且修改后需要重启docker,无法做到动态给运行容器指定大小,下面我介绍一下如何动态的扩展容器空间大小。
动态扩展的优点:
1、不需要修改docker配置,并且重启docker服务;
2、可以直接对运行中的容器进行动态扩展(只能增,无法缩);
缺点:
1、docker所在宿主机分区的格式必须是ext2、ext3、ext4;
2、docker存储引擎必须是devicemapper
存储引擎查看,可以使用docker info查看
下面是动态扩展的例子:
1、新建立个test容器
2、使用我的脚本动态扩展容器空间
脚本内容
下面在给test增加到50G
但我要是像缩减到30G
至于动态增加的原理请参考http://jpetazzo.github.io/2014/01/29/docker-device-mapper-resize/
FAQ:
centos 7里使用docker的时候默认存储引擎是devicemapper
在进行动态调整docker容器磁盘空间的时候,出现
所以建议docker服务器的文件系统格式调整为ext4
相关文章推荐
- docker命令执行慢的解决方案
- Docker学习资料
- 建立docker私有库(docker registry)(转)
- docker
- Docker多容器实践
- Docker 容器真的安全么?
- docker设置并运行部分命令及原文
- CentOS7中Docker文件挂载,容器中没有执行权限
- Docker 快速入门使用
- Docker为容器分配指定物理网段的静态IP
- 使用Docker部署Gitlab
- docker学习笔记
- 学习 Docker - 入门
- Ubuntu 12.04 LTS安装Docker
- 使用Docker、CoreOS、Mesos部署可扩展的Web应用
- ubuntu15.04中的docker...2
- Docker build报错FATA[0000]
- 利用Docker建立服务器和docker容器的监视系统
- Docker 开发实践
- 初始docker(三)