如何确定docker容器的rootfs大小?

时间:2016-03-29 03:23:16

标签: docker rootfs

在一个系统上,docker container的磁盘大小如下:

root@b65c6518f583:/# df -h
Filesystem                                                                                           Size  Used Avail Use% Mounted on
/dev/mapper/docker-253:0-202764498-b65c6518f5837667e7021971a97aebd382dddca6b3ecf4167472ebe17f16aace   99G  268M   94G   1% /
tmpfs                                                                                                5.8G     0  5.8G   0% /dev
shm                                                                                                   64M     0   64M   0% /dev/shm
tmpfs                                                                                                5.8G     0  5.8G   0% /sys/fs/cgroup
tmpfs                                                                                                5.8G   96K  5.8G   1% /run/secrets
/dev/mapper/rhel-root                                                                                 50G   20G   31G  40% /etc/hosts

我们可以看到rootfs尺寸为99G。在另一个系统中,docker container的磁盘大小如下:

53ac740bd09b:/ # df -h
Filesystem                                                                                       Size  Used Avail Use% Mounted on
/dev/mapper/docker-8:8-4202821-2a6f330df1b7b37d55a96b098863f81e4a7f1c39fcca3f5fa03b57998cb33427  9.8G  4.4G  4.9G  48% /
tmpfs                                                                                            126G     0  126G   0% /dev
tmpfs                                                                                            126G     0  126G   0% /sys/fs/cgroup
/dev/sda8                                                                                         97G   11G   82G  12% /data
shm                                                                                               64M     0   64M   0% /dev/shm

rootfs尺寸仅为9.8G

如何确定docker容器的rootfs大小?如何修改rootfs尺寸的值?

2 个答案:

答案 0 :(得分:2)

容器的默认大小为10 GB,您可以更改它,从

中提取

https://docs.docker.com/engine/reference/commandline/daemon/

dm.basesize

指定创建基本设备时要使用的大小,这会限制图像和容器的大小。默认值为10G。请注意,精简设备本质上是“稀疏的”,因此大多数空的10G设备不会在池上使用10 GB的空间。但是,如果设备越大,文件系统将为空案例使用更多空间。

可以在守护程序重启时增加基本设备大小,这将允许所有未来的图像和容器(基于这些新图像)具有新的基本设备大小。

使用示例:

$ docker daemon --storage-opt dm.basesize = 50G

这会将基本设备大小增加到50G。如果现有基本设备大小大于50G,Docker守护程序将抛出错误。用户可以使用此选项扩展基本设备大小,但不允许缩小。

此值会影响系统范围的“基本”空文件系统,该系统可能已被拉出的图像初始化并继承。通常,更改此值需要执行其他步骤:

$ sudo service docker stop

$ sudo rm -rf / var / lib / docker

$ sudo service docker start

使用示例:

$ docker daemon --storage-opt dm.basesize = 20G

答案 1 :(得分:0)

如果您希望docker容器大于默认大小,则此tutorial完成了任务。我知道它将对CentO 7起作用。使用CentO 6,您只需要将xfs_growfs更改为resize2fs

我正在使用docker 1.7